Skip to content

Launch Ad Campaign

POST
/audience-syncs/{config_id}/launch

Launch a paid campaign on the platform, targeting this sync’s audience.

THIS SPENDS THE CUSTOMER’S ADVERTISING BUDGET. The campaign goes live with daily_budget in currency from start_date, and the platform starts charging as soon as it serves. spend_cap and auto_pause_at are the guard rails; set them. Upload the creative first with POST /ad-campaigns/images.

READ status IN THE BODY. The app answers a refused launch (campaign not found, the platform rejecting it) with a 200 whose status is error, and this route passes that through unchanged rather than guessing an HTTP code for it. A launch can also partly succeed - the platform accepts the campaign and then rejects a creative in review - so follow up with POST /ad-campaigns/{campaign_id}/status-refresh.

Authorizations

Parameters

Path Parameters

config_id
required

The sync config whose audience the campaign targets.

integer

The sync config whose audience the campaign targets.

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

object
ad_copy_variant_index
Any of:
integer
ad_image_document_id
Any of:
integer
allow_bid_above_budget

Google Search with ad groups only: launch even though a bid is above the daily budget

boolean
allow_conversion_action_provisioning

Google Search with ad groups only: consent for graph8 to create a conversion action when the strategy needs one

boolean
auto_pause_at
Any of:
string format: date-time
auto_pause_tz
Any of:
string
<= 64 characters
bid_cpc_ceiling_micros
Any of:
integer
> 0 <= 1000000000000
bid_target_cpa_micros
Any of:
integer
> 0 <= 1000000000000
bid_target_roas
Any of:
number
>= 0.01 <= 1000
bidding_strategy
Any of:
string
Allowed values: maximize_clicks maximize_conversions maximize_conversion_value manual_cpc
creative_image_url
Any of:
string
<= 500 characters
creative_image_url_portrait
Any of:
string
<= 500 characters
creative_image_url_square
Any of:
string
<= 500 characters
cta
Any of:
string
currency
string
default: USD <= 3 characters
custom_segment_keywords
Any of:
Array<string>
custom_segment_urls
Any of:
Array<string>
customer_match_mode
Any of:
string
daily_budget
number
default: 50 > 0
destination_url
Any of:
string
<= 500 characters
end_date
Any of:
string format: date
geo_target_country
Any of:
string
>= 2 characters <= 2 characters
google_campaign_subtype
Any of:
string
headline
Any of:
string
<= 255 characters
include_lookalike_audiences
Any of:
boolean
logo_image_url
Any of:
string
<= 500 characters
name
Any of:
string
<= 255 characters
objective
string
default: traffic
primary_text
Any of:
string
<= 1000 characters
rsa_descriptions
Any of:
Array<string>
rsa_headlines
Any of:
Array<string>
search_keywords
Any of:
Array<object>
object
key
additional properties
any
selected_channels
Any of:
object
key
additional properties
boolean
special_ad_categories
Any of:
Array<string>
spend_cap
Any of:
number
> 0
start_date
string format: date
video_asset_ids
Any of:
Array<integer>
video_business_name
Any of:
string
<= 25 characters
video_cta
Any of:
string
video_descriptions
Any of:
Array<string>
video_headlines
Any of:
Array<string>
video_long_headlines
Any of:
Array<string>

Responses

200

Successful Response

object
data
required

One ad-platform object, or one handler response.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string