Data Manager API is a unified API for tracking conversions. Customer actions are first sent to the sGTM container, where data is processed, secured, and attributed. Stape ensures the sGTM container then sends the conversion data directly to Google's servers via an API connection. Such a flow allows for minimizing the impact of browser limitations like ad blockers and cookie restrictions, which leads to more reliable, accurate conversion reporting.
Google Data Manager API is a unified API created to help advertisers connect and manage their first-party data (e.g., data from CRM, behavioral data from the website/app) across Google advertising products. Using the Google Data Manager API, the data can be sent to the required destination (like Google Ads and Display & Video 360) with a single API call.
From October 2025, the Google Data Manager API became available for all users.
If you have a flow where the user firstly interacts with the ad online and then buys the goods or services offline, sending data on conversions back to the advertising platform is essential for ad campaign performance estimation.
With the Data Manager API, you can automatically send offline/enhanced conversion data (e.g., sales that happened in a physical store or over the phone) from your Customer Relationship Management (CRM) or Point of Sale (POS) System and match the data against the Google ad click a user eventually has made.
Enhanced Conversions for Leads is an upgraded method of Offline Conversion Tracking for lead generation businesses. Below, we highlight the difference between both:
| Offline Conversion Tracking | Enhanced Conversions for Leads | |
|---|---|---|
| Purpose | Supply Google Ads with data on users' offline behavior after interaction with the ad online. | Supply Google Ads with data on users' offline behavior after interaction with the ad online. |
| User identifier(s) | Google Click ID (GCLID) - a unique ID of each ad click. | In addition to GCLID, it uses hashed first-party customer data (such as email address or phone number). |
| How it matches offline conversions with online interactions | Matches the GCLID the platform received from CRM/POS with the GCLID of the original ad click. | Uses the hashed customer data to match the conversion to a logged-in Google user or the data from CRM/POS. |
| Matching accuracy | Less reliable due to browser restrictions and cookie expiration. | More accurate as it uses first-party data, helping to track conversions even when GCLIDs are lost or users switch devices. |
💡Google Conversion Events by Stape tag - using the tag, you can configure offline conversion tracking by adding GCLID and/or specifying the first-party customer data (email, phone, address, mobile device ID, third-party user ID).
In this article below, we'll show how to implement the solution.
The Customer Match list in Google Ads/Display & Video 360 is an audience targeting feature that allows advertisers to segment users and target the audience with high conversion intent or exclude a specific segment from advertising.
There are two ways to create and fill Customer Match lists - manual and automatic. The manual method is downloading the first-party data from your CRM in CSV format and uploading it to Google Ads/Display & Video 360. That's an inconvenient way, as you will need to update the data frequently. With the Data Manager API, you can configure automatic Customer Match lists creation and updating.
💡Google Customer Match tag by Stape or Stape Conversion Tracking CRM/CMS apps - both solutions can transfer data from your CRM and send data to Google Ads/Display & Video 360, creating Customer Match lists and updating the data in them without any manual actions.
Below in this article, we'll consider the methods in detail.

The Google Data Manager API allows you to send both online and offline conversion events directly to Google Ads. This API is part of a broader shift toward server-side data tracking. It is often used along with the server Google Tag Manager (GTM). It allows advertisers to gain more control over data, bypass browser restrictions, and improve data quality.
💡Google Conversion Events by Stape - it allows you to send server-side online conversions to Google Ads via the Data Manager API.
Google has released a feature that allows you to enrich the web tag with data from CRM or databases. In this way, you receive a more complete picture of ad campaign performance. We have considered Google's feature, its use cases, and benefits in our other blog post.
💡Google Conversion Events by Stape tag - send data from CRM/databases directly to the Google Ads tag environment.

Regardless of the solution you choose to send data to Google Ads/Display & Video 360, you will need the following to get started:
Regardless of the tag you are going to configure (Customer Match or the Conversion tag), you need to set up one of the authentication methods:
Click on the authentication below that fits you the best and follow the instructions:
Click on the solution that meets your tracking needs, find out more about it, and follow the configuration instructions 👇
To populate the Customer Match list, you need to accept a few terms of use:
It's a legal agreement within Google Ads where you confirm that any data you upload has been collected in compliance with Google's policies (first-party only, clear opt-in). You can read more about the Customer Match policy on Google's end.
How to fix: the Customer Match terms usually pop up when you create the Customer Match list for the first time. Later, it must reappear; be sure to confirm that you comply with the policy.
Enhanced Conversions sends hashed first-party data (emails, phone numbers) from your website to Google to "fill in the gaps" when cookies are blocked. That's a list of terms that allows Google to use this hashed data to match conversions to signed-in Google accounts.
How to fix: go to the Goals section → Settings → Enhanced Conversions. Check the box next to Turn on enhanced conversions. A window with terms must pop up; be sure to accept the terms.
Note: if your conversions are managed via the Manager Account (MCC), the customer data terms must be accepted from the manager's account.

Enhanced Conversions for Leads (ECfL) is the specific feature that allows Google to attribute conversions using first-party data (like hashed emails) rather than just Google Click ID (GCLID). ECfL provides the framework to match CRM data using hashed first-party identifiers (like emails) instead of cookies or click IDs.
How to fix: go to the Goals section → Settings → Enhanced conversions for leads. Check the box next to Turn on enhanced conversions for leads. A window with terms must pop up; be sure to accept the terms.

To link a third-party tool (like Stape) to your Google Ads account via the API, the user account needs specific permissions. Lower access levels (like Read-only or Billing) cannot grant the necessary scopes for the Data Manager API to "write" or "upload" data to the account.
How to fix: Obtain Standard or Admin access to authorize the OAuth flow.
transaction_id for Google's new feature that allows unifying and recovering lost conversions within Google Ads. The feature is required to match your external source's events with those already tracked by your website tag. For more information on Google's additional sources measurement feature, check our article. |
If you encounter the error says REQUIRED_FIELD_MISSINGThe reason is often that you selected a conversion type that requires a Transaction ID, but didn't provide one in the tag.
The requirement is determined by the Conversion Action Type:
transaction_id is mandatory.transaction_id is optional. For more info on when transaction_id is required, refer to Google's documentation.
If you are reporting an online "Website" conversion, you must provide a transaction_id regardless of whether the event is a purchase, a lead, or any other type.
How to fix: You need to provide the transaction_id.
Be sure to have a variable that will grab transaction_id in your Google Conversion Events tag.

The variable configurations:
transaction_id
The error INVALID_ARGUMENT for ad_personalization or ad_user_data points to consent. It means that the consent signal was either missing or sent in a format the API didn't recognize.
Google can process only three values:
CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIEDAs provided in the tags:

How to fix: check whether you specified the consent status in the Request-level Consent section of the tag.
If you are dynamically viewing the consent status and using a variable in the Request-level Consent section, you need to transform the values into the appropriate ones that will be understandable for Google. For this purpose, use the LookUp variable.
With the Google Data Manager API, you transfer first-party data from CRM/POS systems or server-side online events directly into Google Ads/Display & Video 360. Whether you are tracking offline conversions/Enhanced Conversions for Leads, or managing Customer Match lists automatically, the Data Manager API provides an efficient and scalable solution.
Comments