True Conversions — Installation Guide (Ad-click capture)

Overview

The platform already works without this step — conversions are attributed by email and phone. This step is strongly recommended: it captures each ad's click ID (Google and Meta) when the visitor lands on your site and carries it along with the lead into the CRM, improving attribution accuracy.

💡 Shortcut: every account in the dashboard has its own Setup & Tracking page (/dashboard/clients/[id]/setup) with the one line ready to copy. This guide explains the same process in more detail.

The flow has two steps:

  1. Paste one line on the site (script hosted by True Conversions). In most cases, that alone is enough.
  2. Verify.

For maximum precision there is an extra optional step: hidden fields on the form (see below).


Step 1: Paste one line on the site

Paste this single line on every page — inside the <head> tag, or as a Custom HTML tag in Google Tag Manager with the All Pages trigger:

<script src="https://YOUR_DOMAIN/tc.js?t=YOUR_TOKEN" async></script>

Don't build the line by hand: copy the ready-made version (with the account's domain and token) from the account's Setup & Tracking page. The ?t= token identifies the account — without it the script runs in passive-only mode (sends nothing) and Step 1 stops being sufficient on its own.

What the script does

  • Captures from the URL: gclid, wbraid, gbraid (Google), fbclid (Meta) and the UTMs, storing each in a first-party cookie (_tc_*) with a 90-day expiry.
  • Copies the Meta pixel cookies (_fbc/_fbp) verbatim when present. When there's no _fbc, it builds fbc from the URL fbclid in the form Meta allows. It never fabricates values when there was no Meta click/pixel.
  • When the visitor submits a lead form, it sends True Conversions the click ID together with the email hashed with SHA-256 (done in the browser itself — the plaintext email never leaves the page). When the CRM webhook for that same lead later arrives without a click ID, True Conversions joins the two by email hash and attaches the click ID before uploading to Google/Meta. This is why hidden fields became optional.
  • Auto-fills the form's hidden fields, when present — including forms that render after the page loads (RD Station, Elementor), via a DOM observer.
  • We maintain the script centrally — you never need to update it.

Optional (maximum precision): hidden fields on the form

This step is no longer required for most cases — the script alone already delivers the click ID. It remains available as an extra precision layer: with hidden fields, the click ID travels inside the lead itself in the CRM, without depending on the browser send (which can be blocked by ad-blockers, for example).

In your form builder, add hidden fields with exactly these names:

  • Essential: gclid, fbc
  • Recommended: wbraid, gbraid, fbp

The Step 1 script fills these automatically. Since the CRM already captures the form's fields, the values travel along to True Conversions. When the lead arrives with a click ID in its own payload, it always takes priority over the browser-captured one.

RD Station walkthrough

  1. In RD Station Marketing, create the fields as hidden/custom form fields with the names above.
  2. In the RD Marketing ↔ RD CRM field mapping, map those same fields so they land on the contact inside the CRM.
  3. As the lead advances in the funnel, the click ID is already on the contact and flows to True Conversions.

Step 2: Verify

The easiest way: the account's Setup & Tracking page verifies automatically and shows a green card when the script is capturing ("Script active — last capture...") or when leads already arrive carrying a click ID.

To verify manually:

  1. Visit the landing page with test parameters, e.g. https://yoursite.com/?gclid=test123&fbclid=test456.
  2. Open browser DevTools → ApplicationCookies.
  3. Confirm _tc_gclid shows up with value test123.
  4. If you use the optional hidden fields, inspect the form and confirm they were filled.

In the Console, window.getTCParams() returns all captured values.


Confirm your Google tag

In Google Ads, confirm that enhanced conversions for leads is enabled with user-provided data capture — it's Google's own matching layer and works together with this step. Instructions: https://support.google.com/google-ads/answer/15713840.

Also confirm the ad account uses an exclusive conversion action for True Conversions — not the same one your site tag already fires into. See the details in Connecting Google Ads.


Troubleshooting

Symptom Cause Fix
_tc_gclid cookie not appearing Script didn't load Confirm the line is in <head>/GTM on every page and the container is published
Verification never turns green Line installed without the ?t= token Copy the ready-made line from the Setup & Tracking page (it already includes the account token)
Hidden fields empty on submit Field names don't match Names must be exactly gclid, fbc, etc.
getTCParams() returns an empty object Visitor landed without URL parameters Normal — cookies are only created when the parameters are present

Cookie Reference

Cookie name Source Expiry
_tc_gclid gclid (URL) 90 days
_tc_wbraid wbraid (URL) 90 days
_tc_gbraid gbraid (URL) 90 days
_tc_fbclid fbclid (URL) 90 days
_tc_fbc pixel _fbc or built from fbclid 90 days
_tc_fbp pixel _fbp 90 days
_tc_utm_source / _tc_utm_medium / _tc_utm_campaign UTMs (URL) 90 days