> ## 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.

# ClickMagick

> Server-side conversion postback for ClickMagick — link tracking and conversion attribution

# ClickMagick

[ClickMagick](https://www.clickmagick.com) is a click-tracking and conversion attribution platform popular for affiliate marketing, info products, and SaaS funnels. TagadaPay's integration fires a server-side postback to ClickMagick on every paid order.

<Note>
  ClickMagick's primary architecture is **webhook-OUTBOUND** (ClickMagick fires its own webhooks to external platforms like Everflow when conversions land in ClickMagick). TagadaPay's S2S integration is the inverse path: TagadaPay tells ClickMagick about a conversion. For most direct-to-consumer funnels this is what you want; for affiliate-network setups, also configure ClickMagick's inbound webhook from your affiliate network so reporting is consistent on both sides.
</Note>

***

## Setup

<Steps>
  <Step title="Find your ClickMagick tracking domain">
    In ClickMagick: **Settings → Custom Domains**. If you have a vanity tracking domain (e.g. `track.yourstore.com`), use that. Otherwise leave the default `www.clickmagick.com` — it works for standard accounts.
  </Step>

  <Step title="Enable ClickMagick in TagadaPay">
    Dashboard → **Settings → Integrations → ClickMagick → Connect**. Paste the tracking domain (no `https://`) and save.
  </Step>

  <Step title="Forward the ClickMagick click_id through your offer URL">
    ClickMagick's canonical click-id token is `cmc_tid` (it replaced the legacy `#S2#` and `cmc_id`). In your campaign's URL Builder:

    ```
    https://yourstore.com/checkout?cmc_tid={click_id}
    ```

    TagadaPay also accepts these fallbacks: `cmc_id`, `cmcid`, `click_id` (URL params), and `_mck`, `cmcid` (cookies).
  </Step>

  <Step title="Test with a real conversion">
    Place a test order. The conversion should appear in ClickMagick's **Conversions** report within \~60s.
  </Step>
</Steps>

***

## What TagadaPay Fires

```
https://{trackingDomain}/cm/conversion?cm_id={clickId}&value={amount}
```

**Parameter mapping:**

| ClickMagick param | Source                             | Notes                                                                                   |
| ----------------- | ---------------------------------- | --------------------------------------------------------------------------------------- |
| `cm_id`           | Click\_id captured on lander       | Required. ClickMagick's S2S receiving-side parameter.                                   |
| `value`           | Order's paid amount in raw dollars | More accurate than the integer-rounded `revenue` parameter; we always send raw decimal. |

***

## How TagadaPay Identifies the Click

In priority order:

1. URL parameter `cmc_tid` (ClickMagick's canonical token, replaces legacy `#S2#`)
2. URL parameter `cmc_id` (legacy)
3. URL parameter `cmcid` (alt)
4. URL parameter `click_id` (generic fallback)
5. Cookie `_mck` (set by ClickMagick's tracking script)
6. Cookie `cmcid`

***

## Optional Settings

* **Fixed payout** — overrides the order amount if set. Useful for fixed-CPA campaigns or when the actual cart total shouldn't be reported as revenue.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Conversion is recorded with $0 amount">
    The order amount didn't reach the postback. Either:

    1. The order's `paid_amount` is 0 (free trial, 100% discount).
    2. The **Fixed payout** field is set to 0 — clear it.
    3. The merchant's ClickMagick conversion goal expects a different parameter name (e.g. `revenue` instead of `value`). ClickMagick supports both — switch to `value` mode in your conversion goal settings.
  </Accordion>

  <Accordion title="ClickMagick reports no conversions">
    1. Verify the `cmc_tid` (or fallback) is present in the URL when the customer reaches checkout. Inspect the order's `customer.metadata.queryParams` in TagadaPay's CRM.
    2. Confirm your ClickMagick conversion goal is set to **S2S Postback** mode (not pixel-only).
    3. Make sure the tracking domain in TagadaPay matches the host ClickMagick expects to receive postbacks on.
  </Accordion>

  <Accordion title="Affiliate-network setup">
    If you're an affiliate using ClickMagick to track campaigns on an Everflow-powered (or similar) network, the conversion flow is **affiliate-network → ClickMagick** rather than **TagadaPay → ClickMagick**. In that case, configure the network's outbound postback inside ClickMagick following [their guide](https://www.clickmagick.com/kb/?answer=119), and you can leave TagadaPay's ClickMagick integration disabled.
  </Accordion>
</AccordionGroup>

***

## References

* [ClickMagick: Setting Up Webhooks](https://www.clickmagick.com/kb/?answer=217)
* [ClickMagick: Affiliate Network Tracking](https://www.clickmagick.com/kb/?answer=119)
* [Tracking & Attribution overview](/developer-tools/tracking/overview)
