# Click IDs, UTMs and intake links

> How Kalman keeps ad click IDs and UTMs, carries them into an intake on another domain with the auto-linker, and tags Meta ads.

Updated 2026-11-10 · Tracking · https://kalmananalytics.com/support/click-ids-and-intake-links/

Ad platforms add a click ID to the address when someone clicks an ad. Kalman uses it, along with your UTM tags, to tie a sign-up or purchase back to the ad that brought the visitor. Click IDs are random identifiers. They say nothing about a person's health.

## What Kalman records automatically

When the [tag is installed](/support/install-the-tag/), each page view keeps:

- **Click IDs:** `fbclid`, `gclid`, `ttclid`, `msclkid`, `wbraid`, `gbraid`, `li_fat_id` and `rdt_cid`. These are always kept, whatever your allowlist says.
- **UTMs:** `utm_source`, `utm_medium`, `utm_campaign`, `utm_content` and `utm_term`, which are on **Allowed query params** by default.

Each click ID goes only to its own platform:

| Click ID                    | Sent to                    |
| --------------------------- | -------------------------- |
| `fbclid`                    | Meta (as its click cookie) |
| `gclid`, `gbraid`, `wbraid` | Google                     |
| `ttclid`                    | TikTok                     |
| `rdt_cid`                   | Reddit                     |
| `msclkid`                   | Microsoft                  |
| `li_fat_id`                 | LinkedIn                   |

## When your intake is on another domain

Click IDs are often lost when a visitor clicks from your site to an intake on another host, such as `start.northwindhealth.com` or an intake platform's domain. The onboarding scan reports this as **Pass click ids into your intake** and offers two fixes.

### No developer needed: the auto-linker (recommended)

1. Open **Integrations → Tracking** and scroll to **Privacy settings**.
2. In **Intake domains**, list your intake hosts, one per line, up to 10. For example:
    - `start.northwindhealth.com`
    - `*.intakeplatform.com`
3. Press **Save privacy settings**.

You can also set this from the onboarding scan page. Saving adds each host to **Allowed origins** too, so an intake page that runs the tag can send events.

Use hostnames only: no `https://`, path or port. A wildcard such as `*.intakeplatform.com` matches subdomains only.

What the tag then does:

- It adds `kl_id` (the visitor's random Kalman ID) to links, forms and iframes that point at those hosts. It also adds the click IDs and UTMs the visitor arrived with.
- It remembers the first click IDs and UTMs for 30 days in the browser, so a visitor who browses a few pages before starting the intake still carries them.
- It only touches `https` links to the hosts you listed. It never changes other links and never reads any form value.
- If the intake page also runs the Kalman tag, it picks up `kl_id`, so the visit continues as the same visitor.

### I'll update the links myself

Your developer carries the current page's `fbclid`, `gclid` and `utm_*` values onto every intake link. They also add `kl_id`, read from the `_kl_id` cookie.

### Getting kl_id back from your platform

If your intake platform returns `kl_id` in its webhooks, Kalman can join its purchases to the original visit:

- In a [webhook catcher](/support/webhook-catchers/), map the field to `kl_id`.
- For Stripe, Kalman reads `kl_id` from the payment's metadata, or from the client reference ID.

## Consent

If a visitor has said no to ad sharing (or their browser sends Global Privacy Control), the auto-linker adds only `kl_id`. It adds no click IDs or UTMs and doesn't remember them. See [Consent and GPC](/support/consent-and-gpc/).

## Tag your Meta ads

To see spend and results by campaign, ad set and ad, add Kalman's URL parameters to your Meta ads. The line is in the **3. Add tracking tags to your Meta ads** panel on **Integrations → Tracking**, and on the Meta page.

1. In Meta Ads Manager, open the ad (edit), or select several ads to edit them together.
2. Scroll to **Tracking**, then **URL parameters**.
3. Paste the line below, replacing anything already there.
4. Publish.

```text
utm_source=facebook&utm_medium=paid&utm_campaign={{campaign.id}}&utm_term={{adset.id}}&utm_content={{ad.id}}
```

Meta fills in `{{campaign.id}}`, `{{adset.id}}` and `{{ad.id}}` itself. Don't change them. New ads need the line too, or you can set it once at the campaign level with Meta's 'Build a URL parameter' tool. For Google Ads, see Connect Google Ads.

## What Kalman never sends

These parameters carry only numeric ad IDs and random click IDs. Never put product names, conditions, medications or any other free text in a UTM tag or intake link.

Still stuck? Log in and open a request: https://app.kalmananalytics.com/support
