Google Ads Scripts bulk upload: “Missing value in 'EU political ads'” when creating campaigns — no official docs for Scripts?

35 views
Skip to first unread message

Jose M

unread,
Aug 29, 2025, 10:35:05 AM (8 days ago) Aug 29
to Google Ads Scripts Forum

Hi Google Ads Scripts team,

I’m running a manager-level Google Ads Script (MCC) that creates Video campaigns via Bulk Upload (CSV) using AdsApp.bulkUploads().newCsvUpload(...).forCampaignManagement().apply().

I’m now consistently getting the following error on campaign creation:

Results: Missing value in "EU political ads".
Simplified repro (Script)
function createCampaign(c) { var columns = [ "Account ID","Campaign","Budget","Bid Strategy type", "Campaign type","Campaign state","Location","Devices", "Campaign subtype", // Tried both header names below (one at a time): // "EU political ads" // "Contains EU Political Ads" ]; var row = { "Account ID": "1111111111", "Campaign": "Test_NonSkippable", "Budget": "5", "Bid Strategy type": "Target CPM", "Campaign type": "video", "Campaign state": "paused", "Location": "Spain", "Devices": "Mobile devices with full browsers:+0%;Tablets with full browsers:+0%;Computers:+0%", "Campaign subtype": "Non-skippable", // Tried values below for the EU political field (one at a time): // "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" // "CONTAINS_EU_POLITICAL_ADVERTISING" // "NO" / "YES" // "Does not contain EU political advertising" }; var upload = AdsApp.bulkUploads().newCsvUpload(columns, { fileLocale: "en_US" }); upload.forCampaignManagement(); upload.append(row); upload.apply(); // -> Results column: Missing value in "EU political ads". }
What I’ve tried
  • Two possible column headers (based on policy wording and DV360/SDF docs):

    • "EU political ads"

    • "Contains EU Political Ads"

  • Multiple values:

    • DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING

    • CONTAINS_EU_POLITICAL_ADVERTISING

    • NO / YES

    • Free-text variants (“Does not contain EU political advertising”)

  • Explicit fileLocale: "en_US".

  • Script runs under MCC and selects the client via MccApp.accounts().withIds([...]).executeInParallel(...). Permissions are fine; the only blocker is the EU political field.

Context
  • We do not run political ads and we don’t represent public authorities.

  • We saw announcements and DV360/SDF references about EU political ads self-declaration, but we cannot find any official documentation for Google Ads Scripts or Ads bulk-upload column names/accepted values for this field on Google Ads (non-DV360).

  • We also can’t find a self-declaration toggle in the Google Ads UI (advertiser/basic details) for regular Ads accounts that would automatically satisfy this requirement for new campaigns.

Questions
  1. What is the exact bulk-upload column name Google Ads Scripts expects for campaigns?

  2. What are the accepted values for that column in Scripts bulk uploads?

  3. Is there an advertiser-level self-declaration in Google Ads (not DV360) that we can set once so new campaigns inherit it?

  4. If Ads Scripts bulk upload does not yet support this field, what’s the official workaround (e.g., create via Ads API with a specific field, or rely on an account-level UI toggle)?

Any official documentation links or examples specific to Google Ads Scripts / Ads bulk uploads would be greatly appreciated.

Thanks a lot,

Google Ads Scripts Forum Advisor

unread,
Aug 29, 2025, 12:27:03 PM (8 days ago) Aug 29
to adwords...@googlegroups.com

Hi,

Thank you for reaching out to the Google Ads Scripts support team.

I would suggest that you refer to the official Blog Post regarding the EU political ads in Google Ads Scripts. I would suggest that you use boolean values without hyphens (true or false). You may find the below example.

'EU political ads' : false

To select the option in the Google Ads UI, you may navigate to the campaign settings and find the option “EU political ads”.

If you still face any issues, kindly get back to us with the following details.

  • Google Ads account ID/CID
  • Name of the affected script
You can share the requested details via Reply privately to the author option or a direct private reply to this email.

Thanks,
 
Google Logo Google Ads Scripts Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
[2025-08-29 16:26:25Z GMT] This message is in relation to case "ref:!00D1U01174p.!500Ht01u5Uu9:ref" (ADR-00331365)



Sergei Aleinik

unread,
Aug 29, 2025, 4:20:02 PM (7 days ago) Aug 29
to Google Ads Scripts Forum
Just set `no` to this field, my friend.

`false` doesn't work. Those ido**s fu**d up everything with this feature, with deadlines... and just decided to enable it randomly on some accounts.

пятница, 29 августа 2025 г. в 20:27:03 UTC+4, Google Ads Scripts Forum Advisor:
Reply all
Reply to author
Forward
0 new messages