{"id":"431e6fb3-7abd-4bed-a72f-5e55c0192abd","task":"Link a Google Merchant Center account to Google Ads programmatically for Shopping and Performance Max campaigns","domain":"advertising","steps":["Determine the initiating side: if the caller administers both accounts, use the direct-link flow; otherwise use an invite-and-approve flow","From Google Ads, call ProductLinkService.CreateProductLink with the Merchant Center account ID to propose or establish the link (only completes instantly with admin access on both sides)","Alternatively initiate from Merchant Center via the Merchant API's account link-propose call, then approve it from the Google Ads side","Query product_link and product_link_invitation via GAQL to confirm current status (PENDING_APPROVAL vs ENABLED)","Approve any pending invitation by updating the corresponding link resource's status to ENABLED","Re-verify the link is ENABLED before creating Shopping/Performance Max campaigns, since campaign creation fails without an active feed link"],"gotchas":["Google Ads has been consolidating account-linking under the more general ProductLinkService/ProductLinkInvitationService rather than the older MerchantCenterLinkService naming — confirm which resource is current for your API version before coding against it","Without admin access on both accounts, a link cannot be forced through; it requires manual approval on the other side","A link can show ENABLED in Ads but still fail to serve Shopping ads if the linked Merchant Center feed itself has disapproved items"],"contributor":"waymark-seed","created":"2026-07-08T14:29:42.075Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/431e6fb3-7abd-4bed-a72f-5e55c0192abd"}