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

# Ads

> See which ad brought each contact and how those contacts did: replies, meetings, won deals and their value, by platform, campaign, ad set and ad.

Click **Analytics** in the left menu, then the **Ads** tab at the top. Each row is an ad, or a group of them, with how many contacts it brought and how those contacts did. Kerux doesn't create or change ads: you keep running them in Facebook, Google, LinkedIn or TikTok, and Kerux shows what they bring.

## What you see

* **Cards at the top:** contacts from ads in the period, how many are **in a campaign**, **replied** (on any channel), **booked a meeting** and were **won** (a Won stage in your [pipeline](/help/leads/pipeline.md)), with the conversion (won divided by contacts). With deal values on your contacts, **Won value** shows too.
* **Platform chips:** each platform with its mark and its number of contacts. Click one to see only that platform; **All** shows every one.
* **The table:** platform, then campaign, ad set and ad. Contacts that came through a link with UTMs are grouped by platform, then **source / medium**, campaign (`utm_campaign`) and content (`utm_content`). Click the arrow on a row to hide or show what's inside it.
* **Period:** 7, 30, 90 or 365 days, or your own dates with **From**, **To** and **Apply**. Days follow your workspace's timezone.

Click a row's name to see its contacts, newest first, with what each one did (in a campaign, replied, meeting, won, deal value). Click a contact to open it.

> [!NOTE]
>
> Each contact counts once, for the ad or link that **first** brought it. If the same person later comes through another ad, they stay in the first one's row.

## Where the ad comes from

### Facebook and Instagram Lead Ads

Every contact from a [Facebook / Instagram lead form](/help/integrations/facebook-lead-ads.md) keeps its page, form and ad, and whether it came from Facebook or Instagram.

* **Through Zapier or Make:** add the ad's fields to the Zap or scenario (**Ad ID**, **Ad Name**, **Adset ID**, **Adset Name**, **Campaign ID**, **Campaign Name** and **Platform**) and the table shows ad, ad set and campaign names.
* **Connected directly:** Facebook sends the ad's id with the contact, without its name. The row shows the id with **Name unknown**. To see names, send those contacts through Zapier or Make.

### Google, LinkedIn, TikTok and other ads (UTMs)

Point the ad at your Kerux form link and add UTM parameters to it. For example:

```text theme={null}
https://www.usekerux.com/t/sft_your_form/form?utm_source=google&utm_medium=cpc&utm_campaign=spring_offer&utm_content=headline_b
```

Kerux keeps `utm_source`, `utm_medium`, `utm_campaign`, `utm_content` and `utm_term` with every contact that sends the form, and reads the platform from `utm_source` (`google`, `linkedin`, `tiktok`, `facebook`, `instagram`, `bing`, `youtube`...). Without UTMs, the ad's own click id (`gclid`, `fbclid`, `li_fat_id`, `ttclid`, `msclkid`) still says the platform. A form sent without UTMs or a click id isn't counted as an ad.

The same works for:

* **Trigger links** (`{{links.<name>}}`): UTMs added to the link are kept when the contact clicks it.
* **Your own landing page** posting to a campaign's trigger URL: send the UTMs as custom fields (`"custom": { "utm_source": "linkedin", "utm_campaign": "q4" }`).
* **Form tools** connected in Connections > Forms (Typeform, Tally, Jotform...): pass the UTMs as hidden fields named `utm_source`, `utm_medium` and so on.

## On the contact page

A contact that came from an ad shows **Came from** at the top of its work column: the platform's mark, the ad (or the UTM campaign), its campaign, ad set and form, and the date. **See in Ads** opens its row on the Ads page.

## With the API

* `GET /v1/analytics/ads` returns the same table (`days`, or `from` and `to`, and `platform`), each row with a `key`.
* `GET /v1/analytics/ads/leads?row=<key>` returns that row's contacts.
* `GET /v1/leads/{id}` includes `attribution` (where the contact came from), and `GET /v1/leads/{id}/attribution` lists every touch.

A key with the **analytics:read** scope reads the Ads table; **leads:read** reads a contact's attribution. See [API](/help/developers/api.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.