Google Pixel (Google Ads, Data Manager API)
Google Pixel sends your conversions (registrations, deposits, etc.) directly to Google Ads via the official Data Manager API. Google uses them for attribution and campaign optimization. The setup takes ~15 minutes and does not require launching ads or linking a card.
How it works
- When someone clicks on your ad, Google adds the
gclidparameter to the link (for iOS traffic —gbraid/wbraid). The tracker saves it on the click. - When the affiliate sends a postback about the conversion, the tracker sends the event to Google Ads with this click identifier.
- An event in Google Ads is a conversion action that you create in your account. In the pixel mapping, each tracker event corresponds to a numeric Conversion Action ID.
- Authorization is done via your own service account in Google Cloud: you upload its JSON key to the pixel once. The key is stored in an encrypted form and is never displayed again.
Step 1. Google Ads Account (if you don't have one)
Google enforces a master “first campaign” with payment. You can bypass this in two ways:
- Recommended — through a manager account (MCC): open ads.google.com/home/tools/manager-accounts → Create a manager account (without a campaign and card). Inside the MCC: Accounts → + → a regular client account is created. Note: the account currency never changes — choose wisely.
- Quick: go through the campaign wizard, do not enter anything at the payment step and go to the dashboard via the logo — the account is already created, delete the campaign draft.
Customer ID — a number in the format 123-456-7890 in the upper right corner of the dashboard. It will be needed in the pixel form (can include dashes).
Step 2. Google Cloud Project and Service Account
- Open console.cloud.google.com → create a new project (for example,
adset-postback). Billing is not required. - APIs & Services → Library → find Data Manager API → Enable.
- IAM & Admin → Service Accounts → Create service account. Any name (for example,
postback), no roles need to be assigned in GCP. You will get an email in the format[email protected]. - Open the service account → tab Keys → Add key → Create new key → JSON. The file will download once — save it.
⚠️ If you get the error “Service account key creation is disabled” at step 4 — your account is part of a Workspace organization with the policy iam.disableServiceAccountKeyCreation. Ask the administrator to disable it for the project or create a project from a personal Gmail outside the organization.
Step 3. Access in Google Ads
- Google Ads dashboard → Admin → Access and security → Users → +.
- Paste the service account email from step 2, access level — Standard (Read-only does not allow uploading conversions).
- If there are multiple accounts under one MCC — you can add the email once at the MCC level and fill in the pixel field Manager (MCC) Customer ID.
Step 4. Conversion Action
- Goals → Conversions → Summary → + Create conversion action.
- Data source: Offline conversions (in other versions of the interface — “Import → Conversions from clicks”). No need to connect CRM/files — choose the API option or “set up later.”
- Name (for example,
Deposit), counting — “Each” (so that repeated deposits are counted separately), conversion window — by default. - Open the created conversion from the list — copy the number after
ctId=in the browser's address bar. This is the Conversion Action ID. - Repeat for each event you want to send (Deposit, Registration, etc.).
Step 5. Auto-tagging and gclid pass-through
- Admin → Account settings → Auto-tagging — must be enabled, otherwise
gclidis not added to links. - If traffic goes through TDS/redirect — make sure the redirect passes parameters: the outgoing link should have
&gclid={gclid}&sub9={gbraid}&sub10={wbraid}(macros depend on your TDS). When using our Google Ads source template and direct traffic, no configuration is needed. - Convention for iOS traffic:
gbraidandwbraidare delivered through sub9/sub10 — these sub-fields on the Google source are occupied.
Step 6. Pixel in Adset.pro
- Tracker → Pixels → Create, type — Google Ads.
- Upload the JSON key file — a checkmark “Key is valid” and the service account email (the same one you added in step 3) will appear.
- Fill in Customer ID (10 digits, dashes are allowed). Manager ID — only if access was granted at the MCC level.
- Tab Events: each event — its own Conversion Action ID from step 4.
- Save → pixel menu → Test Google connection. The test does not record anything in the dashboard but validates the key, access, and all IDs.
- Link the pixel to the campaign (campaign set → Pixels) — like a regular pixel.
Google API Errors — Quick Orientation
Google's response is shown as is: in the connection test — by clicking on the red status, in live submissions — in “Logs → Pixels” (Response data). Typical cases:
| Error | What it means | What to do |
|---|---|---|
| 403 / PERMISSION_DENIED | Service account does not have access to the account, or Data Manager API is not enabled in the GCP project | Check: the SA email is in “Users” of Google Ads with “Standard” level (step 3); Data Manager API is enabled (step 2.2); Customer ID — exactly that account to which access was granted |
| 401 / invalid_grant | JSON key has been revoked, deleted, or corrupted | Reissue the key (step 2.4) and upload a new one to the pixel (“Replace key”) |
| Error about destination / productDestinationId | Incorrect Customer ID or Conversion Action ID | Verify Customer ID (do not confuse with the manager account ID) and ctId of the conversion; the conversion must exist in this same account |
| 400 / INVALID_ARGUMENT | Google rejected the validation request (for example, incorrect event data) | Check the error text in the postback log; such submissions are not retried |
| 429 / RESOURCE_EXHAUSTED | GCP project request quota exceeded (100,000/day, 300/min) | The submission will automatically retry; if regular 429s occur — check if the project is being used by other integrations |
Auto-deactivation: in case of fatal errors (revoked key, removed access — 401/403) the pixel automatically turns off, and the owner receives a notification “Pixel deactivated.” After resolving the issue, turn the pixel back on in the edit form.
Frequently Asked Questions
- Conversions are not visible in the dashboard immediately. Statistics in Google Ads appear with a delay of ~3 hours — this is normal. Imported conversions are visible in “Goals → Conversions → Summary” and on the “Uploads” page.
- Attribution window. A conversion is counted only if it falls within the conversion action window (usually 30–90 days from the click) and the gclid is valid.
- Currency. The conversion currency is passed from the affiliate's postback (or from CPA network settings); the currency of the Google Ads account only affects report display.
- Duplicates. Google deduplicates our events by unique transaction ID — resending the same conversion will not create a duplicate.
- Key security. The JSON key is stored in an encrypted form and is never returned outside — only the email and project id are visible in the form. Do not publish the key file in chats and tickets; if the key is exposed — reissue it.
