> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.nimbata.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Low call attribution rate: how to diagnose and fix tracking gaps in GA4

If fewer calls than expected are showing source, medium, or campaign data in GA4, you have one of two problems:

**Capture gap**
* Nimbata swapped the number but couldn't read the visitor's session data. 
* Usually a cookie consent manager.

**Integration gap**
* Nimbata captured full session data, but it never reached GA4. 
* Usually a Client ID or workflow misconfiguration.

They look the same on the surface but require different fixes. 
Diagnose which one you have first.

### Step 1. Check Nimbata's attribution data

* Go to [Activity > Calls](https://app.nimbata.com/activity/calls).
* Open an unattributed call.
* Check the **Attribution** section of the call record.

Source and medium are populated > data was captured but didn't reach GA4. 
**This is an integration gap. Go to Section A.**

Source and medium are empty > session data was never captured. 
**This is a capture gap. Go to Section B.**

# Section A. Integration gap: call data not reaching GA4

### A1. Verify your GA4 credentials

* Go to [Integrations > Google Analytics](https://app.nimbata.com/integrations/google-analytics) in Nimbata.
* Confirm the **Measurement ID** (format: `G-XXXXXXXXXX`) matches exactly the one in GA4 under **Admin > Data collection and modification > Data streams > [your stream] > Stream details**.
* Confirm the **API secret** comes from **Measurement Protocol API secrets** on that same screen; not a Tag Manager token or any other credential.
* Confirm the integration status shows **running in 1 workflow**.

| A single mismatched character in either field will silently block all events from sending.

### A2. Check whether the Google Client ID is being transmitted

Nimbata links call events to GA4 sessions using the visitor's `_ga` cookie. 
If it isn't captured at call time, GA4 can't match the event to a session; even if source and medium are correct in Nimbata.

* In a call record, check for a **Client ID** field in the attribution data.
* If it's blank on calls that do have source and medium, the Client ID handshake is broken.

Common causes: the Nimbata script loads before GA4's `gtag.js` initializes, the `_ga` cookie is blocked by a consent manager, or a GTM error is preventing the GA4 tag from firing.

**Fix:** in GTM, set your GA4 configuration tag to fire on **All Pages** with no conditions, and ensure the Nimbata tag fires after it.

### A3. Check your workflow configuration

* Go to [Workflows](https://app.nimbata.com/workflows).
* Open the workflow driving your GA4 integration.
* **Trigger:** must be set to **Call ends**, not Call starts. 
* At call start, duration is 0; any duration filter will fail.
* **Filters:** check every condition. 
* A common silent blocker is **Recording = Yes**.
* If a caller presses the privacy opt-out digit, recording stops and this filter fails. 
* Replace it with **Duration > X seconds** instead.
* **Status:** Confirm the workflow is enabled and showing as running.

### A4. Check for GA4-side data filters

* In GA4, go to **Admin > Data filters**.
* Confirm no filter is excluding events sent via the Measurement Protocol.

# Section B. Capture gap: session data missing at the point of the call

### B1. Check whether a consent manager is blocking the script

This is the most common cause, especially in markets with low opt-in rates (Germany, Sweden, France, Poland).
The pattern: DNI is working and numbers swap when tested, but a high percentage of calls from a specific market show no attribution.

To confirm:
* Open the affected site in a fresh browser session without accepting the cookie banner.
* Call the tracking number and check the resulting call record in Nimbata.
* If source and medium are blank, repeat the test after accepting cookies.
* If attribution appears after accepting, the consent manager is the cause.

**Fix:** review how your consent manager categorizes the Nimbata script and GA4 tag. 
If compliant with your privacy policy, moving Nimbata to a **Functional** or **Necessary** category will resolve this. 
Ensure the GA4 tag fires before Nimbata even in consent-pending mode, so the `_ga` cookie is set first.

||| Consult your legal team before changing cookie categorization.

### B2. Check the script load order

Even without a consent manager, if Nimbata fires before GA4 it cannot read the `_ga` cookie.
* Open **F12 > Network.**
* Reload the page.
* Confirm the GA4 tag fires before the Nimbata script.
* In GTM, add a trigger dependency or sequence the Nimbata tag after GA4. 
* In manual installs, place the Nimbata script tag below the GA4 tag.

### B3. Check that your swap group source matches your traffic

* A **Google Ads** swap group only swaps for visitors with a `gclid` parameter.
* Calls from other channels won't have campaign attribution.
* An **All Visitors** swap group swaps for everyone but will show many calls as direct or organic.

Confirm your swap group sources match your attribution expectations.

### Realistic attribution benchmarks

* **60-80%** is typical for single-market setups with moderate consent rates.
* **Below 50%** usually indicates a fixable technical issue covered in this guide.
* **Near 0% in one market** with a working setup elsewhere is almost always a consent manager or script load order issue.
---

Detailed Guide: [**Google Analytics 4 integration: how to set it up in Nimbata**](https://help.nimbata.com/en/article/google-analytics-4-integration-how-to-set-it-up-in-nimbata-1l4tjvt/) 
Detailed Guide: [**Google Ads conversions via GA4: how to import Nimbata call events**](https://help.nimbata.com/en/article/google-ads-conversions-via-ga4-how-to-import-nimbata-call-events-15fwxe6/) 
Detailed Guide: [**How to set up your first workflow**](https://help.nimbata.com/en/article/how-to-set-up-your-first-workflow-q8c5v5/) 
Troubleshooting: [**Tracking number not swapping: full troubleshooting guide**](https://help.nimbata.com/en/article/dni-full-troubleshooting-guide-10-reasons-why-numbers-are-not-swapping-on-your-website-dfo4sa/)
