Skip to content

Send call conversions to Google Ads

Who this is for: buyers running Google Ads traffic to a landing page with a phone number on it. What you’ll need: admin access to the Google Ads account, the ability to edit the landing page <head>, and a Moja number pool for DNI. Time: about 30 minutes, plus a wait for the first scheduled upload. Where this lives: Integrations → Integrations (Beta) · Integrations → Snippets · Reporting / Call Tracking

Moja uploads eligible call conversions back to Google Ads so you can optimise on call outcomes instead of clicks. The whole integration rests on one requirement: Moja must have a Google click identifier attached to the call. Everything below exists to make that true.

flowchart LR
  A[Visitor clicks the ad<br/>lands with gclid] --> B[Moja snippet loads<br/>captures session + click ID]
  B --> C[DNI swaps the number<br/>from the pool]
  C --> D[Visitor calls the<br/>inserted number]
  D --> E[Moja ties the call<br/>to the session]
  E --> F{Eligible<br/>conversion?}
  F -->|yes| G[Queued and uploaded<br/>on a schedule]
  F -->|no| H[Call tracked in Moja,<br/>not uploaded]
  1. The visitor clicks a Google ad. Google sends them to the landing page with a supported click identifier — gclid, gbraid, or wbraid.

  2. The Moja snippet loads and captures the visitor session together with whichever click identifier is on the URL.

  3. DNI replaces the phone number with a Moja tracking number from the configured pool.

  4. The visitor calls. Because they dialled the inserted number, the call is associated with the snippet session and the captured click identifier.

  5. Moja evaluates the conversion. If the call is eligible and a Google Ads conversion action is selected, the upload is queued.

  6. Moja uploads to Google Ads on a schedule. Failed uploads are retried automatically, up to the configured retry limit.

Without the snippet, Moja usually cannot see the website session or the click identifier — the call will appear in Moja but be ineligible for upload. Without DNI, the visitor dials a static number that carries no session, with the same result.

Static-number calls are still tracked in Moja, and existing call tracking is unaffected. They just cannot be uploaded as Google click conversions.

Identifier Where it comes from
gclid Standard Google Ads auto-tagging
gbraid iOS app-to-web click paths
wbraid iOS web-to-web click paths

If none of the three is present on the call, it cannot be uploaded as a Google click conversion. That is the first thing to check when a conversion is missing.

  • Google Ads auto-tagging is enabled, or supported click identifiers are otherwise preserved on your landing-page URLs
  • A Google Ads conversion action exists for calls
  • A Moja number pool is provisioned for the landing page
  • You can edit the landing page <head> — directly or through a tag manager

Step 1 — Connect the Google Ads integration

Section titled “Step 1 — Connect the Google Ads integration”
  1. In Moja, open the sidebar and go to Integrations → Integrations (Beta).

  2. Connect or confirm the Google Ads integration under Installed Integrations.

  3. Select the Google Ads conversion action Moja should upload eligible calls to.

Expected result: Google Ads appears under Installed Integrations with a conversion action selected. No conversion action means nowhere to upload to, and eligible calls will queue against nothing.

Integrations (Beta) → Installed Integrations, Google Ads card with conversion action selector

  1. Go to Integrations → Snippets.

  2. Create or edit a snippet for the landing page.

  3. Configure the snippet fields:

    • Snippet Name — the label you will recognise later
    • Campaign (Default) Number — the number used when DNI cannot serve a pool number
    • Number to Replace — the static website number that should be swapped out
    • Number Pool — the pool of Moja tracking numbers DNI draws from
  4. Confirm Enable Number Replacement is on.

  5. If the site spans multiple domains, review Linked Domains so the visitor ID survives the hop between them.

Expected result: the snippet is listed with number replacement enabled and a pool assigned.

Edit Snippet form showing Number to Replace, Number Pool, and Enable Number Replacement

Step 3 — Install the snippet on the landing page

Section titled “Step 3 — Install the snippet on the landing page”

Copy the snippet code from Edit Snippet and paste it into the <head> section of the landing page.

The snippet is generated per account, so copy it from your own portal rather than from any example. Full reference in DNI and DNI tracking tags, snippets, and number pools.

Expected result: loading the landing page with ?gclid=test123 on the URL shows a pool number in place of the static number.

  1. Open the landing page from a URL containing a supported click identifier.

  2. Confirm the displayed phone number changed to a pool number.

  3. Call that number and let the call complete normally.

  4. Open Reporting / Call Tracking and find the call.

  5. Confirm the call shows a captured tracking identifier.

Useful labels and columns in Reporting / Call Tracking:

Label / column What it tells you
WITH GCLID Calls that arrived with a captured Google click ID
CONVERSIONS Calls counted as conversions
UPLOADED Conversions that have been uploaded back to the ad platform
Tracking IDs The captured tracking identifiers on the call
Conversion Value | Type Conversion value and conversion type on the call

Success looks like: the test call appears WITH GCLID, is counted under CONVERSIONS if it met the conversion rule, and moves to UPLOADED after the next scheduled upload run.

  • Conversions are not uploaded instantly.
  • Uploads are delayed to respect Google Ads requirements and any configured upload delay.
  • Eligible conversions are processed automatically on a schedule.
  • If Google Ads is temporarily unavailable or an upload fails, Moja retries automatically up to the configured retry limit.
Symptom Likely cause Fix
Calls appear in Moja but never upload No gclid, gbraid, or wbraid was captured on the call Work through the row below
No Google click ID on any call Auto-tagging is off; the landing page is stripping query parameters; the snippet is not installed; the snippet loads after the visitor calls; or the number was never replaced Check each in that order — auto-tagging first, snippet placement last
Static-number calls are not uploading Expected. Static-number calls usually carry no session and no click identifier Route those visitors through DNI if the calls should be attributed
The wrong number is being replaced The snippet’s replacement configuration is matching a number that should stay static Review Number to Replace and confirm which numbers the snippet is allowed to touch
The number changes on one domain but not another Cross-domain visitor ID is not being carried Review Linked Domains on the snippet
Conversion uploaded, but the value is wrong Conversion value or type is set differently in Moja and Google Ads Compare the Conversion Value | Type column against the Google Ads conversion action

Last reviewed: August 2026.