> ## Documentation Index
> Fetch the complete documentation index at: https://help.contentgrove.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Conversions aren't being attributed

> Why contentgrove records clicks but conversions don't show up: the tracking script, thank-you page matching, consent, and the 30-day attribution window.

If clicks appear but conversions don't, the issue is on the tracking-script side: the script isn't firing on your pages, the thank-you page doesn't match your offer, or the attribution window passed. Unlike clicks, conversions rely on the script running on both your landing and thank-you pages.

## Quick checks

<Steps>
  <Step title="Confirm a click was tracked first">
    Conversions only count when the visitor previously clicked a tracked link. If the click wasn't recorded, fix that first — see [Tracking isn't recording clicks](/troubleshooting/tracking-not-recording).
  </Step>

  <Step title="Confirm the script is loading">
    The tracking script must load on **both** your landing page and your thank-you page. The landing page stores the click ID; the thank-you page records the conversion. Open each page, press <kbd>F12</kbd>, go to the **Network** tab, and look for `cg-tracker.js`. If it's missing, the script isn't installed on that page. See [Install the tracking script](/tracking/install-script).
  </Step>

  <Step title="Verify your Tracking ID">
    Make sure the `data-tracking-id` (or `contentgroveConfig.trackingId`) matches the Tracking ID in **Settings → Tracking**. A wrong or placeholder value (`YOUR_TRACKING_ID`) stops tracking.
  </Step>

  <Step title="Check the thank-you URL matches your offer">
    The thank-you page URL must match the pattern and [match type](/concepts/clicks-and-conversions#how-contentgrove-matches-your-pages) on your offer. "Includes" is flexible; an overly strict "Exact match" is a common cause.
  </Step>

  <Step title="Check the 30-day window">
    A conversion is attributed only if it happens within 30 days of the click, in the same browser. Conversions outside that window, or in a different browser, can't be linked.
  </Step>

  <Step title="Check consent and subscription">
    If you use a consent management platform, the script only runs after the visitor grants consent. In strict consent mode (`data-require-consent="true"`), tracking stays blocked until consent is given. Tracking also requires an active subscription. See [GDPR and consent](/tracking/install-script#gdpr-and-consent).
  </Step>
</Steps>

## Console messages

Open the **Console** tab in your browser's developer tools and look for messages:

| Message                                                                                                   | Meaning                                                                                                                                                    |
| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `contentgrove: tracker configuration not found.`                                                          | The script loaded but no Tracking ID was set. Check `data-tracking-id` (or `contentgroveConfig.trackingId`) is present and not left as `YOUR_TRACKING_ID`. |
| `Tracking blocked until marketing consent is granted.`                                                    | The visitor hasn't granted consent yet in your CMP. Tracking runs once they accept.                                                                        |
| `Tracking blocked because strict consent mode is enabled and no supported consent provider was detected.` | `data-require-consent` is on, but no supported consent platform was found on the page.                                                                     |
| `[contentgrove] ❌ Click tracking error`                                                                   | The tracking request failed (network or server). Retry, and check the script can reach contentgrove.                                                       |

## Google Tag Manager

If you installed via GTM, the most common cause is the wrong trigger. Use **Page View – DOM Ready**, not "Container Loaded", make sure the config loads first, and confirm you clicked **Submit** and **Publish**. See [Set up tracking in Google Tag Manager](/tracking/google-tag-manager).

## Test the full flow

Click one of your tracking links, complete your form or purchase, reach the thank-you page, and check your dashboard. Testing in an incognito window helps confirm the click ID is set and read correctly.

<Note>
  Refreshing the thank-you page won't add extra conversions — each click counts at most once. Manual conversions you add yourself are separate and aren't auto-attributed.
</Note>

## Still not attributing?

Contact [support@contentgrove.io](mailto:support@contentgrove.io) with your offer's landing and thank-you patterns and the URLs you're testing.
