The Campaign API creates, updates, launches, pauses, and deletes Google Ads campaigns for a Wix site. It supports Smart campaigns (auto-managed by Google) and Performance Max (PMAX) campaigns, which run across all Google channels. Performance Max campaigns come in 2 types: retail PERFORMANCE_MAX campaigns advertise the products in the account's linked Google Merchant Center feed, and PERFORMANCE_MAX_LEADS campaigns build their ads from an asset group and focus on lead generation.
Creating new Smart campaigns is deprecated. Support for it will be removed in a future release, so use Performance Max campaigns instead. Existing Smart campaigns aren't affected and can still be retrieved, updated, paused, and resumed.
With the Campaign API, you can:
Create Campaign creates a campaign immediately in the status you specify. Create it as DRAFT to launch it later, or as LIVE to start it right away.
DRAFT campaign for the first time. Call Resume Campaign to reactivate a campaign that was previously live and then explicitly paused.scheduledResumeDate to schedule an automatic resume. A job runs at that time and fires a CampaignAutoResumed domain event. Specify null to cancel an existing scheduled resume.A campaign's status is read-only and synced from Google Ads. It may change without developer action, for example due to a policy violation or billing issue. The possible values are:
DRAFT: The campaign was created but not yet launched.LIVE: The campaign is active and serving ads.PAUSED: The campaign was paused by the user.LEARNING: The campaign is in the learning phase (PERFORMANCE_MAX_LEADS only, approximately 28 days after launch).IN_REVIEW: Google is reviewing the campaign's ads, or the campaign's payment setup isn't complete yet.DISAPPROVED: The campaign or its assets violate Google Ads policy and won't serve.NOT_SERVING: The campaign isn't serving due to budget limitations.ENDED: The campaign has ended (PMAX campaigns with an endDate).ERROR: The campaign is in an error state.It's important to note the following points before starting to code:
status set to LIVE fail if the subscription has expired.PERFORMANCE_MAX_LEADS campaigns require a url and at least one asset group with headlines, long headlines, descriptions, a business name, images, and a logo. Asset validation is synchronous, so invalid assets cause the create call to fail immediately.PERFORMANCE_MAX campaigns require the account's merchantCenterAccountLinkStatus.status to be ENABLED. They don't accept asset group assets, asset group signals, excluded keywords, a phone number, or a url.PERFORMANCE_MAX and PERFORMANCE_MAX_LEADS.PERFORMANCE_MAX: A retail (shopping) Performance Max campaign that advertises the products in the account's linked Google Merchant Center feed, including on Shopping.PERFORMANCE_MAX_LEADS: A Performance Max campaign optimized for lead generation that builds its ads from an asset group you provide, with search theme signals and a 28-day learning phase.PERFORMANCE_MAX_LEADS campaign uses to generate ads.utm_campaign parameter in the campaign's final URL suffix for analytics attribution.Last updated: 11 November 2026