Skip to main content

Google: Performance Max campaign creation

What we're asking for: support Performance Max on POST /v1/ads/create, e.g. campaignType "pmax" with an asset-group shaped payload.

Why this matters to us: PMax is the campaign type Google actively steers small advertisers toward, and it's the one that performs reasonably with very little hands-on management - which is exactly what a plumber or a bookkeeper needs. Today campaignType accepts search|display only, so through your API we can only offer the two types that
demand the most ongoing attention, while the type built for our audience is out of reach.

What happens today: no PMax support on create; campaignType is limited to search and display.

What "done" looks like for us: create a PMax campaign with an asset group (headlines, long headline, descriptions, landscape/square images, logo, optional video), a budget, geo targeting and a final URL; read the asset group back; and control the campaign status the same way as other campaign types (ideally created paused).
Status: Completed1 comment

Log in to comment and vote

Comments1

  • Miquel Palet López

    Team•

    Sep 10

    Shipped and verified against Google.

    Set campaignType: "pmax" on POST /v1/ads/create and supply assetGroup. The campaign, its daily budget and the asset group with all its assets are created in a single atomic Google mutate, so you either get the whole thing or nothing.

    What the asset group needs: businessName, finalUrl, longHeadline, at least three headlines, at least two descriptions, and images by role under images with landscape, square and logo. A YouTube video is optional via assetGroup.youtubeVideoId.

    Read the result back with GET /v1/ads/campaigns/{campaignId}/asset-groups.

    Things worth knowing before you build on it:

    • Campaigns are created PAUSED. Google rejects creating a Performance Max campaign in an active state.

    • Only a daily budget is accepted.

    • Supported bidding is Maximize Conversions or Maximize Conversion Value. Portfolio bidding and bid caps are rejected.

    • Geo and language targeting are supported. Other targeting is not, and an omitted geo targets all locations.

    • validateOnly: true validates the complete request against Google without creating or persisting anything, which is the safe way to check a payload before committing budget.

    Verified today end to end on a live Google Ads account: validation passes, a real campaign creates with its asset group and linked assets readable, and the campaign removes cleanly.