Skip to main content
Google AdsVersion: v3

Upsert Google campaign

PUT/ad-publishing/google/ads

Create or update a full Google Ads campaign structure

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your access token.

Scope:adPublishing.write
Auth methods:OAuthPrivate Integration
Token type:Sub-Account Token

Request​

Headers

Versionstringrequired

API Version

Available optionsv3
Example:v3

Body

idstring

Campaign identifier

Example:camp_abc123
namestringrequired

Campaign name

Example:My Campaign
locationIdstringrequired

Location identifier

Example:loc_abc123
advertisingChannelTypestringrequired

Advertising channel. Only SEARCH and DEMAND_GEN campaigns can be built and published by this product; the other Google channels are readable on existing campaigns but cannot be created here.

Available optionsSEARCHDEMAND_GEN
Example:SEARCH
advertisingChannelSubTypestring

Channel sub type

Available optionsDEMAND_GEN
Example:DEMAND_GEN
goalTypestring

Goal type

Available optionsWEBSITE_TRAFFICLEAD
Example:WEBSITE_TRAFFIC
budgetobject

Campaign budget

audienceobject

Campaign audience targeting

networkSettingsobject

Network settings

biddingStrategyobject

Bidding strategy config

assetsobject

Campaign assets

isEuPoliticalAdsboolean

EU political ads flag

Example:false
adGroupsobject[]

Campaign ad groups

campaignGoalobject

Campaign goal config

adScheduleobject[]

Ad schedule rules

publishingStatusstring

Publishing status

Available optionsDRAFTSCHEDULEDPUBLISHEDPUBLISHINGFAILEDIN_REVIEWPAUSEDARCHIVEDWITH_ISSUESREJECTED
Example:PUBLISHED
googleAdAccountIdstring

Google Ad account identifier

Example:123-456-7890
unpublishedChangesboolean

Whether the campaign has unpublished changes

Example:false
maximumCpcnumber

Maximum CPC bid in micros

Example:2000000
googleCampaignIdstring

Google Ads campaign resource ID

Example:customers/123/campaigns/456
sourcestring

Traffic source

Example:WEBSITE
advancedOptionsobject

Advanced options

customValueMappingsobject

User-provided overrides for custom_values merge tags used in ad copy

Response

The saved campaign document, same shape as GET /ads/{adId}

idstringrequired

Campaign identifier

Example:6a846b1eb112242a53b21cb0
namestringrequired

Campaign name

Example:Spring promotion
locationIdstringrequired

Location identifier

Example:fRMewNQIxSyZ5R4nQyit
googleAdAccountIdstringrequired

Google Ads customer id the campaign belongs to

Example:6776452901
advertisingChannelTypestringrequired

Advertising channel

Available optionsSEARCHDEMAND_GEN
Example:DEMAND_GEN
publishingStatusstringrequired

Publishing status

Available optionsDRAFTSCHEDULEDPUBLISHEDPUBLISHINGFAILEDIN_REVIEWPAUSEDARCHIVEDWITH_ISSUESREJECTED
Example:DRAFT
sourcestringrequired

Where the campaign was created from

Example:AD_MANAGER
budgetobjectrequired

Budget configuration

networkSettingsobjectrequired

Network placement settings

biddingStrategyobjectrequired

Bidding configuration

campaignGoalobjectrequired

Campaign goal

assetsobjectrequired

Attached assets by kind

audienceobjectrequired

Campaign level targeting

adScheduleobject[]required

Ad scheduling windows, empty when the campaign runs continuously

adGroupsobject[]required

Ad groups with their ads

unpublishedChangesbooleanrequired

Whether the campaign has edits not yet published

Example:false
isEuPoliticalAdsbooleanrequired

Whether the campaign is declared as EU political advertising

Example:false
metaobject

Ancillary campaign metadata

createdBystringrequired

User who created the campaign

Example:hzN33mfYO5c1LHqsExRC
updatedBystringrequired

User who last updated the campaign

Example:hzN33mfYO5c1LHqsExRC
createdAtstringrequired

Created at

Example:2026-08-18T14:24:30.868Z
updatedAtstringrequired

Updated at

Example:2026-08-18T14:36:29.195Z