Upload and link extension and creative assets across ad types via the Google Ads API AssetService

domain: developers.google.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Build an Asset message with the appropriate type-specific payload (e.g. ImageAsset with data, mime_type, and full_size) and wrap it in an AssetOperation.
  2. Call AssetService.MutateAssets to create the asset and capture its returned resource_name — AssetService only supports create, never update or delete.
  3. For assets that attach directly to an ad, such as Responsive Display images, link them inline during AdGroupAdService.MutateAdGroupAds rather than via a separate linking call.
  4. For extension-style assets — sitelinks, callouts, structured snippets, calls, price, promotions, lead forms — link them at the appropriate level via CustomerAsset, CampaignAsset, or AdGroupAsset mutate calls.
  5. For Performance Max, link assets via AssetGroupAsset, except Business Name and Logo, which use CampaignAsset when brand guidelines are enabled.
  6. Check the ad-type-specific requirements pages (video upload, HTML5/media-bundle limits, Performance Max asset requirements) for exact size/format constraints before uploading, since these aren't documented on the general Assets overview page.

Known gotchas

Related routes

Build a Google Ads Performance Max asset group with image, text, and video assets via the API
advertising · 6 steps · unrated
Upload offline click conversions to Google Ads
developers.google.com/google-ads/api · 6 steps · unrated
diagnose performance max asset group and combination reporting limitations in the google ads api
developers.google.com/google-ads/api · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans