Migrate conversion sources management from the Content API for Shopping
Stay organized with collections
Save and categorize content based on your preferences.
Merchant Center conversion sources let you view conversion data from free
listings, and from your
website, in your Merchant
Center account. The Merchant API lets you manage conversion sources for your
Merchant Center account. For more information, see Manage conversion
sources.
This page describes how you can migrate conversion sources management from
Content API to Merchant API.
Requests
Here's a sample comparison of the Content API for Shopping to the Merchant
Conversion Sources API for conversion sources requests:
Content API
Merchant API
URL
GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/conversionSources/{CONVERSIONSOURCE_ID}
GET https://merchantapi.googleapis.com/conversions/v1/{NAME}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eMerchant Center conversion sources provide insights into conversions from free listings and your website within your merchant account.\u003c/p\u003e\n"],["\u003cp\u003eThe Merchant API enables management of these conversion sources, offering a more streamlined approach compared to the Content API.\u003c/p\u003e\n"],["\u003cp\u003eThis migration guide details key changes in requests, methods, and resources when transitioning from the Content API to the Merchant API for conversion source management.\u003c/p\u003e\n"],["\u003cp\u003eNotable changes include URL and identifier structures, method functionalities, and resource attribute naming conventions.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the provided tables for a comprehensive comparison of the Content API and the Merchant API functionalities for conversion source management.\u003c/p\u003e\n"]]],["The content details migrating conversion source management from Content API to Merchant API. Key changes include new URLs and identifiers for requests like `GET`, `POST`, `PATCH`, `DELETE`. Methods like `create`, `update`, `delete`, `undelete`, `get`, and `list` now use different URLs and identifiers. Resource names like `propertyName` are renamed to `property`, `destinationId` to `destination`, and `includeInReporting` to `report`.`attributionLookbackWindowInDays` is renamed to `attributionLookbackWindowDays`.\n"],null,["# Migrate conversion sources management from the Content API for Shopping\n\nMerchant Center conversion sources let you view conversion data from [free\nlistings](//support.google.com/merchants/answer/12046446), and from [your\nwebsite](//support.google.com/merchants/answer/13071753), in your Merchant\nCenter account. The Merchant API lets you manage conversion sources for your\nMerchant Center account. For more information, see [Manage conversion\nsources](/merchant/api/guides/conversion-sources/overview).\n\nThis page describes how you can migrate conversion sources management from\nContent API to Merchant API.\n\nRequests\n--------\n\nHere's a sample comparison of the Content API for Shopping to the Merchant\nConversion Sources API for conversion sources requests:\n\n| | Content API | Merchant API |\n|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|\n| URL | `GET https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | `GET https://merchantapi.googleapis.com/conversions/v1/`\u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e |\n| Identifiers | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e |\n\nMethods\n-------\n\nHere is what has changed for conversion sources methods in the Conversion\nSources API:\n\n|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|---------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Method** | **URL in Content API for Shopping** | **URL in Merchant API** | **Identifiers in Content API for Shopping** | **Identifiers in Merchant API** | **Description** |\n| `create` | `POST https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources` | `POST https://merchantapi.googleapis.com/conversions/v1/accounts/`\u003cvar translate=\"no\"\u003e{PARENT}\u003c/var\u003e`/conversionSources` | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{PARENT}\u003c/var\u003e | In Merchant API, `propertyName` is called `property`. |\n| update | `PATCH https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | `PATCH https://merchantapi.googleapis.com/conversions/v1/accounts/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_NAME}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_NAME}\u003c/var\u003e | In Merchant API, `destinationId` is called `destination`. |\n| `delete` | `DELETE https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | `DELETE https://merchantapi.googleapis.com/conversions/v1/accounts/`\u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e | In Merchant API, `attributionLookbackWindowInDays` is called `attributionLookbackWindowDays`. In Merchant API, `includeInReporting` is called `report`. |\n| `undelete` | `POST https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e`:undelete` | `POST https://merchantapi.googleapis.com/conversions/v1/accounts/`\u003cvar translate=\"no\"\u003e{name}\u003c/var\u003e`:undelete` | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e | URL and identifiers are different in Merchant API. The Conversion Sources API returns `ConversionSource` instead of `Empty`. |\n| `get` | `GET https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | `GET https://merchantapi.googleapis.com/conversions/v1/accounts/`\u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources/`\u003cvar translate=\"no\"\u003e{CONVERSIONSOURCE_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{NAME}\u003c/var\u003e | URL and identifiers are different in Merchant API. |\n| `list` | `GET https://shoppingcontent.googleapis.com/content/v2.1/`\u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e`/conversionSources` | `GET https://merchantapi.googleapis.com/conversions/v1/`\u003cvar translate=\"no\"\u003e{PARENT}\u003c/var\u003e`/conversionSources` | \u003cvar translate=\"no\"\u003e{MERCHANT_ID}\u003c/var\u003e | \u003cvar translate=\"no\"\u003e{PARENT}\u003c/var\u003e | URL and identifiers are different in Merchant API. |\n\nResources\n---------\n\nThe following table mentions the changes in conversion sources resources in the\nConversion Sources API:\n\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Content API for Shopping | Merchant API | Description |\n| `googleAnalyticsLink: { ` property_id: int64, ` ` attributionSettings: object, ` ` propertyName: string ` ` } ` ` | `googleAnalyticsLink: { ` propertyId: int64, ` ` attributionSettings: object, ` ` property: string ` ` ` } ` | In Merchant API, `propertyName` is called `property`. |\n| `merchantCenterDestination: { ` destinationId: string, ` ` attributionSettings: object, ` ` displayName: string, ` ` currencyCode: string ` ` ` } ` | `merchantCenterDestination: { ` \u003cbr /\u003e ` ` destination: string, ` ` attributionSettings: object, ` ` displayName: string, ` ` currencyCode: string ` ` ` } ` | In Merchant API, `destinationId` is called `destination`. |\n| `attributionSettings: { ` \u003cbr /\u003e ` ` attributionLookbackWindowDays: int32, ` ` attributionModel: object, ` ` repeated conversionType: { ` ` name: string, ` ` includeInReporting: bool ` ` } ` ` ` } ` | `attributionSettings: { ` \u003cbr /\u003e ` ` attributionLookbackWindowDays: int32, ` ` attributionModel: object, ` ` repeated conversionType: { ` ` name: string, ` ` report: bool ` ` } ` ` ` } ` | In Merchant API, `attributionLookbackWindowInDays` is called `attributionLookbackWindowDays`. In Merchant API, `includeInReporting` is called `report`. |"]]