Launch Google Ads campaign
Creates the app’s Google Ads account if it does not have one, then creates a campaign on it. This is what starts spending money.
Call Get launch readiness first and send its landing_page back here. Its currency_code is informational: there is no currency field on this request, and Base44 derives the account’s currency itself.
Base44 checks what it can from the request before creating anything: a Performance Max campaign needs logo_url, the budget has to sit inside the per-currency range for the campaign type, the business name has a length limit, and targeting that can reach the EU needs an EU political-advertising declaration. Those all fail with a 400 and create nothing. Anything only Google can judge — a logo it cannot fetch, a landing page it cannot crawl — fails after the account exists.
A 409 has four different causes and they are not all safe to retry:
- the workspace is on billing hold, or the account is, so no new spend is allowed. Fix the billing problem and retry.
- the campaign was already launched from this draft. Retrying will not create a second one.
- the request to Google Ads timed out after being sent. The campaign may be live and spending. Do not retry: read List campaigns and check before doing anything else.
The response carries the account and the campaign. A campaign can come back paused when its conversion tracking is not wired yet; Base44 enables it on its own once tracking verifies.
Launching is refused, rather than allowed through, while Base44 cannot reach its payment provider to confirm a card is on file. Get launch readiness reports that state as stripe_unavailable, so check it there instead of inferring it from a failed launch.
Authorizations
Personal API key.
Path Parameters
ID of the app to advertise.
Body
The campaign to create. Same fields as Create campaign.
Time zone to create the Google Ads account in, as an IANA name. Only used when the account does not exist yet, and fixed for its lifetime after that. Defaults to UTC.
Response
The account the campaign lives on, and the campaign.