google_ads_sitelinks_create
Creates a Google Ads sitelink asset and links it to a campaign, enforcing the 20-sitelink limit and returning the asset resource name.
Instructions
Create a sitelink Asset and link it to a Google Ads campaign in a two-step mutate (AssetService then CampaignAssetService). Returns {resource_name} of the created asset on success, or {error:true, error_type:'validation_error', message} when the campaign already has 20 campaign-level sitelinks (hardcoded _MAX_SITELINKS_PER_CAMPAIGN limit). Mutating — reversible only by google_ads_sitelinks_remove using the returned asset_id. The asset is newly minted per call; identical text produces duplicate assets unless deduplicated upstream.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why this change is being made: one or two sentences naming the evidence and the expected effect. Stored in the journal and on the action_log entry this call produces, for the operator and the next session. | |
| approval | No | External approval this change carries out (recorded and shown, never verified) | |
| expected | No | Expected effects [{metric, direction, target?, horizon_days?, primary?}], exactly one primary:true when several; metric cpa/cpc/cpl/cpm/conversions/cvr/ctr/roas/cost/spend/clicks/impressions; direction up/down/hold. | |
| final_url | Yes | Absolute landing URL (http:// or https://) for the sitelink. Must be a crawlable page on the advertiser's verified domain. | |
| link_text | Yes | Link text shown to searchers (e.g. 'Pricing'). Google Ads limits this to 25 characters. | |
| campaign_id | Yes | Campaign ID as a numeric string without dashes (e.g. '23743184133'). Obtain via google_ads_campaigns_list. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| decision_id | No | A proposed decision this change carries out. | |
| description1 | No | Optional first description line (max 35 characters). Only displayed when description2 is also provided and Google chooses to render the expanded format. | |
| description2 | No | Optional second description line (max 35 characters). Requires description1. |