# External trackings

You can fire **third-party tracking pixels and scripts** from Collective Audience creatives and campaigns.

Desk offers two ways to set them up:


1. **Prepackaged trackers** — guided forms for common vendors (Meta, Google, LinkedIn, viewability partners, …). You fill an ID or partner URL; Desk builds the script / pixel for you.
2. **Custom tracking** — full control: you choose the **event**, the **injection mode**, and the **URL** (plain or with macros).

Use this when an advertiser wants their own measurement on top of Collective Audience analytics (for example Google **and** Meta on the same creative).

> **info:** This page covers **external trackings** fired from our creatives. For **Collective Audience conversion postbacks** (Click ID), see *(→ conversion-tracking)*. For answer / form / opt-in payloads to a CRM, see *(→ webhooks)*.

## Where to configure

| Level | Where in Desk | Typical use |
|-------|---------------|-------------|
| **Campaign** | Campaign editor → **Trackings** | Same pixels for every creative in the campaign |
| **Creative** | Creative editor → **Trackings** | Creative-specific measurement |
| **Insertion / slot** (advanced) | Campaign / adserving flows | Delivery-context trackings |

You can add **several trackings** on the same creative or campaign.

## How to add a tracking


1. Open the **campaign** or **creative** in [Audience Desk](https://desk.collectiveaudience.co).
2. Open the **Trackings** section.
3. Click **Add** and either:
   * pick a **prepackaged** vendor, or
   * choose **Custom tracking** (advanced mode) for full control.
4. Save the creative / campaign.


---

## Prepackaged trackers

These types appear in the tracking picker. Guided vendors set a sensible default **event** and **injection mode**; some only ask for an ID or partner URL.

| Tracker (Desk name) | What you configure | Default event (typical) |
|---------------------|--------------------|-------------------------|
| **Facebook** (Meta) | Facebook / Meta Pixel ID + tracking action (`PageView`, `ViewContent`, `Lead`, `Subscribe`, `CompleteRegistration`) | Depends on action (e.g. PageView → impression-style, ViewContent → creative visible impression) |
| **Google (GTag)**   | Google tag ID (e.g. `G-…`, `AW-…`) | Impression              |
| **Google (Analytics)** | Analytics property / category fields (guided form) | Impression              |
| **DoubleClick (Google)** | Tracker URL (partner pixel) | Creative visible impression |
| **LinkedIn**        | LinkedIn partner / Insight tag ID | Creative visible impression |
| **IAS (Integral Ad Science)** | Tracker URL        | Eligible for creative visible impression |
| **Moat**            | Moat parameters (guided) | Eligible for creative visible impression |
| **Nielsen (DAR)**   | Tracker URL        | Creative visible impression |
| **Sizmek**          | Tracker URL        | Creative visible impression |
| **Weborama**        | Tracker URL        | Creative visible impression |
| **XPLN**            | Partner fields (guided) | Eligible for creative visible impression |
| **Goodeed**         | Tracker URL + index (question context) | Question rendered       |
| **Custom tracking** | Event + injection mode + URL (see below) | Creative visible impression |

### Meta (Facebook) — quick path


1. Select **Facebook**.
2. Enter the **Facebook / Meta Pixel ID**.
3. Choose a **tracking action**.
4. Save.

### Google — quick path


1. Select **Google (GTag)** (or **Google (Analytics)** / **DoubleClick** if that matches what the client sent).
2. Enter the **Google tag ID**, or paste the DoubleClick pixel URL.
3. Adjust the event if needed (often **Creative visible impression** or **First engagement**).
4. Save.

If the client only gave a raw image URL (1×1), prefer **Custom tracking** with injection mode **Pixel**.

### Multiple pixels on the same creative

**Yes.** Add one row per vendor (or per event). Example: one **Facebook** + one **Google (GTag)** on the same creative.


---

## Custom tracking (full control)

Use **Custom tracking** when:

* the vendor is not in the prepackaged list,
* you only received a raw pixel / script / iframe URL,
* you need a specific event that a guided form does not expose the way you want,
* you need macros in the URL (campaign ID, choice value, TC string, cachebuster, …).

In advanced / custom mode you set three things:

### 1. Event

When the tracking fires. Desk groups them as:

| Group | Events (Desk labels) |
|-------|----------------------|
| **Load** | Impression (creative injected) |
| **Display viewability** | First pixel in viewport, Eligible for creative visible impression, Creative visible impression (0s), Creative visible impression, MRC 50, MRC 100 |
| **Video** | Video impression, Video visible impression, MRC video 50, Start, Progress (±), 25% / 50% / 75% / 100%, Replay |
| **Engagement** | First engagement, Engagement, First vote, Vote, Click, Form page / form submission, Chatbot line view / answer, Optin submission, Format complete, Creative complete |
| **Questions** | Question rendered    |

Tooltips in Desk explain each event in more detail.

### 2. Injection mode

| Mode | Behavior |
|------|----------|
| **Pixel** | Loads the URL as an image / beacon (most classical ad pixels) |
| **Script** | Injects a `<script src="…">` (or vendor helper URL) |
| **Iframe** | Loads the URL in an iframe beacon |

Pick the mode your vendor documentation requires. Wrong mode is a common reason a pixel “does nothing” in Events Manager / Tag Assistant.

### 3. Tracker URL (with or without macros)

Paste the full `https://…` URL. You can leave it **static**, or insert **macros** from the template picker so values are filled at fire time.

**Examples**

```text
https://example-measurer.com/pixel.gif?cb=[RANDOM]
```

```text
https://example-measurer.com/hit?campaign=[BEOP_CAMPAIGN_ID]&creative=[BEOP_CONTENT_ID]&page=[PAGE_URL]&tc=[TC_STRING]
```

#### Common macros (template picker)

| Macro | Meaning |
|-------|---------|
| `[TIMESTAMP]` | Fire time |
| `[RANDOM]` / `%%CACHEBUSTER%%` | Cache buster |
| `[BEOP_RESOURCE_ACCOUNT_ID]` | Owner / resource account ID |
| `[BEOP_ADVERTISER_ID]` | Advertiser ID |
| `[BEOP_CAMPAIGN_ID]` | Campaign ID |
| `[BEOP_INSERTION_ID]` | Insertion ID |
| `[BEOP_CONTENT_ID]` / `[BEOP_CONTENT_NAME]` | Creative ID / name |
| `[BEOP_FORMAT]` | Format type |
| `[BEOP_PUBLISHER_ID]` / `[BEOP_PUBLISHER_NAME]` | Publisher |
| `[BEOP_SLOT_NAME]` | Slot name |
| `[BEOP_WIDGET_ID]` | Widget / session container id |
| `[BEOP_QUESTION_ID]` / `[BEOP_QUESTION_TEXT]` | Question context (when the event has one) |
| `[BEOP_CHOICE_INDEX]` / `[BEOP_CHOICE_VALUE]` | Vote choice (single) |
| `[BEOP_CHOICE_INDEXES]` / `[BEOP_CHOICE_VALUES]` | Vote choices (JSON arrays) |
| `[BEOP_CHOICE_SEGMENT_IDS]` / `_NAMES` / `_SEGMENTS` | Publisher segments on choices (when enabled) |
| `[BEOP_VIDEO_PROGRESS]` | Video progress |
| `[PAGE_URL]` / `[PAGEURL]` | Page URL |
| `[SITE_USER_ID]` | Site user ID when provided via SDK login |
| `[TC_STRING]` | TCF consent string when available |
| `${GDPR}` / `${GDPR_CONSENT_…}` / `${ADDTL_CONSENT}` | Consent flags (IAB-style) |
| `%%SITE%%` / `[BEOP_PAGE_DOMAIN]` | Page domain |
| `%%REFERRER_URL%%` / `%%REFERRER_URL_ESC%%` | Referrer |

Some ad-server style tokens (`%ebuy!`, `%eadv!`, …) are also recognized for legacy partner URLs.

> **info:** Not every macro is meaningful for every event. For example choice macros are useful on **Vote**; video progress on video events. If a value is unknown at fire time, it may be replaced by an empty string.


---

## Consent and testing

* Third-party trackings are subject to **consent**. Publishers should allow Collective Audience (IAB TCF Vendor **666**) and relevant advertising / measurement purposes. See *(→ consent-management)*.
* Ad blockers can reduce fire rates. Agree with the client which events matter most.

**Test checklist**


1. Creative **preview** or a live test placement.
2. Trigger the chosen event.
3. Confirm hits in Meta Events Manager, Google Tag Assistant / Ads diagnostics, or the network tab (`fb.js`, `gtag.js`, or your custom URL).
4. Re-check on **production** creatives after publish when the client requires it.

## Related

* [*Webhooks*](/doc/webhooks-e8PUocgZh9) — send answers / forms to a CRM or CDP
* [*Conversion Tracking*](/doc/conversion-tracking-kor7sNB6ey) — Collective Audience Click ID conversion postbacks
* [*Creative Connect*](/doc/creative-connect-Y36y1vnEgU) — delivery outside CA inventory
* [*Consent Management*](https://consent) — CMP / TCF setup

## Need help?

If Trackings is not visible on your account, or you need a recommended event mapping for a media plan, contact your Collective Audience account team.