Follow-up from #239 optional-field audit.
The audit must classify campaigns.add and campaigns.update optional WSDL rows without generic candidates. Remaining campaign-level blocks need explicit typed flags or documented N/A decisions.
Scope includes Notification, TimeTargeting, DailyBudget details, negative keyword lists and shared set IDs, per-campaign subtype settings, bidding strategy nested fields, priority goals, placement types, frequency cap, video target, and other rows reported by tests/WSDL_OPTIONAL_FIELD_AUDIT.md.
Follow-up from #239 optional-field audit.
The audit must classify campaigns.add and campaigns.update optional WSDL rows without generic candidates. Remaining campaign-level blocks need explicit typed flags or documented N/A decisions.
Scope includes Notification, TimeTargeting, DailyBudget details, negative keyword lists and shared set IDs, per-campaign subtype settings, bidding strategy nested fields, priority goals, placement types, frequency cap, video target, and other rows reported by tests/WSDL_OPTIONAL_FIELD_AUDIT.md.