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

# Tracking & Attribution

> Pick the right ad attribution tool for your store and understand how each integrates with TagadaPay

# Tracking & Attribution Overview

TagadaPay ships first-class integrations for the most popular ad attribution platforms. **You don't need to install pixels on your checkout or thank-you page** — once an integration is enabled in the dashboard, TagadaPay handles the wiring server-side on every paid order.

This page explains what each tool actually does, where they differ, and which one to pick.

<Info>
  TagadaPay supports **three** structural categories of trackers — they look similar from the outside but the moving parts are very different. Understanding the category your tracker belongs to is the fastest way to debug attribution issues.
</Info>

***

## The Three Categories

### 1. Postback Ad Trackers (S2S, click-id-based)

A merchant-owned tracking service that issues a unique **click\_id** when a visitor clicks an ad, sets it as a first-party cookie or URL parameter on the lander, and expects an HTTP request from your backend whenever a conversion happens.

**The five we support, all firing automatically on `order.paid`:**

| Tracker                                              | Click ID origin (URL / cookie)                           | Where the postback fires                         |
| ---------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------ |
| [ClickFlare](/developer-tools/tracking/clickflare)   | `cf_click_id`, `click_id` / `cf_click_id`, `cfclid`      | `https://{trackingDomain}/cf/postback?cid=…`     |
| [Voluum](/developer-tools/tracking/voluum)           | `cid`, `click_id` / `_voluum`                            | `https://{trackingDomain}/postback?cid=…`        |
| [Binom](/developer-tools/tracking/binom)             | `clickid`, `click_id` / `_binom`                         | `https://{trackingDomain}/click.php?cnv_id=…`    |
| [RedTrack](/developer-tools/tracking/redtrack)       | `rtkclickid`, `clickid`, `click_id` / `rtkclickid-store` | `https://{trackingDomain}/postback?clickid=…`    |
| [ClickMagick](/developer-tools/tracking/clickmagick) | `cmid`, `clickid` / `_mck`                               | `https://{trackingDomain}/cm/conversion?cm_id=…` |

**How it works under the hood:**

1. Visitor clicks an ad → tracker assigns a click\_id, drops it on the lander URL and as a first-party cookie.
2. TagadaPay's mapper script captures URL params + cookies into the customer record at checkout creation.
3. When the order is paid, TagadaPay's server fires a single HTTP GET to the tracker's documented postback URL with the click\_id, payout, currency, and order id.
4. Tracker matches the click\_id back to the original click and credits the ad source.

**When to pick a postback tracker:** you already use one of these for cross-network ad-spend optimisation or you cloak/rotate offers across many traffic sources. Ignore them entirely if you only run Meta + Google Ads — those have their own native pixels.

***

### 2. PII-Based Attribution (Hyros)

A different beast. [Hyros](/developer-tools/tracking/hyros) doesn't use click\_ids or cookies — it identifies customers by **email and phone**, then matches conversions back to the original ad click on its own side. This survives iOS Smart Tracking Protection, adblockers, and cross-device flows that break every click-id tracker on the planet.

**How it works:**

* TagadaPay POSTs every paid order to `https://api.hyros.com/v1/orders` with `email`, `phone`, line items, and amount.
* Hyros stitches it back to the original click via deterministic identity matching.
* No cookie or URL parameter required on the lander.

**When to pick Hyros:** you're running serious ad spend (\$10k+/month) on cookieless platforms (TikTok, YouTube), you have a high-LTV product where cross-device matters, or your audience skews heavily mobile / iOS.

***

### 3. Shopify Pixel Injection (Wetracked)

[Wetracked](/developer-tools/tracking/wetracked) is a client-side e-commerce attribution pixel that runs **only on Shopify storefronts**. TagadaPay injects two `<script>` tags into your Shopify theme during the next theme sync; Wetracked auto-attributes via cookies it sets on first visit — no API key, no pixel ID.

**When to pick Wetracked:** you have a Shopify store and want a no-config attribution pixel layered on top of TagadaPay's own analytics.

***

## Decision Matrix

| Goal                                                    | Pick                                                                      |
| ------------------------------------------------------- | ------------------------------------------------------------------------- |
| Direct-response affiliate tracking across many networks | **Postback tracker** (Voluum, Binom, etc.)                                |
| Cross-device, cookieless attribution for big-ticket ads | **Hyros**                                                                 |
| Shopify-only pixel that "just works"                    | **Wetracked**                                                             |
| Native pixel events for retargeting (Meta, TikTok, GA4) | [**Pixels**](/developer-tools/headless-sdk/pixels) (separate config slot) |
| Server-side Meta CAPI deduplication                     | Configure Meta in pixel slot — TagadaPay auto-fires CAPI server-side      |

<Note>
  **You can stack as many as you need.** Hyros + ClickFlare + Wetracked + Meta Pixel can all be active at once on the same store. Each one fires independently from the others; they don't conflict because they identify users via different signals.
</Note>

***

## What TagadaPay Captures Automatically

Every checkout session captures the visitor's URL params and cookies into the customer's `metadata` field. The captured set includes ad-tracker click ids for every supported provider:

**URL parameters** — `gclid`, `fbclid`, `msclkid`, `ttclid`, `twclid`, `li_fat_id`, `epik`, `dclid`, `yclid`, `irclickid`, `cf_click_id`, `rtkclickid`, `cid` (Voluum), `clickid`, `click_id`, `cmid`, `awc` (Awin)

**Cookies** — `_gclid`, `_fbc`, `_ttclid`, `cf_click_id`, `_voluum`, `_binom`, `rtkclickid-store`, `_rtkclickid`, `_mck` (ClickMagick), and the platform's standard click cookies.

This means **the click\_id capture works the same way regardless of which tracker you've enabled** — flip the integration on, hand the merchant the correct tracking domain, and conversions start flowing within minutes of the next paid order.

***

## Common Setup Pattern

Every postback tracker integration follows the same three-step pattern:

<Steps>
  <Step title="Find your tracking domain">
    Inside the tracker (ClickFlare, Voluum, etc.), look for **Settings → Tracking domains** (the exact menu name varies). Copy the custom domain you've configured (e.g. `track.yourstore.com`) — **not** the tracker's main domain (`clickflare.io`, `voluum.com`, etc.).
  </Step>

  <Step title="Enable the integration in TagadaPay">
    In the TagadaPay dashboard, go to **Integrations**, find the tracker, click **Connect**, paste your tracking domain, and save. No API key required for postback trackers — the click\_id IS the auth.
  </Step>

  <Step title="Verify on next paid order">
    Place a test order. Within \~60s of payment, check your tracker dashboard for the conversion. If it doesn't show up, see the troubleshooting section on the per-tracker page.
  </Step>
</Steps>

***

## What's Different vs Doing It Yourself

If you've ever installed a postback by hand on a Shopify thank-you page or a custom checkout, you know the pain: pixel order matters, cookies vanish on Safari, click\_ids get truncated, refunds aren't synced, and one cleared cache breaks the whole funnel.

TagadaPay's integrations side-step every one of those:

* **Server-side firing** — the postback comes from our backend, not the customer's browser. Adblockers, Safari ITP, and cleared caches don't matter.
* **No theme code** — for non-Shopify stores you don't touch the thank-you page at all. For Shopify with Wetracked, we own the inject/remove cycle.
* **Idempotent** — the postback fires once per paid order. Refresh, refund, dispute — no duplicate conversions.
* **Captured on lander, fired on server** — the click\_id round-trips through TagadaPay's session, so even if the customer abandons checkout and returns later through a different device, attribution stays intact.

***

## Next Steps

Pick your tracker and follow its dedicated setup guide:

<CardGroup cols={2}>
  <Card title="ClickFlare" icon="bullseye-arrow" href="/developer-tools/tracking/clickflare">
    S2S postback for cross-network ad attribution
  </Card>

  <Card title="Voluum" icon="chart-line" href="/developer-tools/tracking/voluum">
    S2S postback with rich token system
  </Card>

  <Card title="Binom" icon="bolt" href="/developer-tools/tracking/binom">
    Self-hosted tracker (`/click.php` postback)
  </Card>

  <Card title="RedTrack" icon="signal" href="/developer-tools/tracking/redtrack">
    S2S postback with first-party cookie tracking
  </Card>

  <Card title="ClickMagick" icon="link" href="/developer-tools/tracking/clickmagick">
    S2S postback for SaaS / coaching / info products
  </Card>

  <Card title="Hyros" icon="user-shield" href="/developer-tools/tracking/hyros">
    Email + phone identity-based attribution
  </Card>

  <Card title="Wetracked" icon="shop" href="/developer-tools/tracking/wetracked">
    Shopify-only client-side pixel
  </Card>

  <Card title="Client-side pixels" icon="bullseye-pointer" href="/developer-tools/headless-sdk/pixels">
    Meta, TikTok, GA4, GTM, Snapchat, Pinterest
  </Card>
</CardGroup>
