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

# Voluum

> Server-side conversion postback for Voluum, fired automatically on every paid order

# Voluum

[Voluum](https://voluum.com) is a click-id-based ad attribution tracker popular for cross-network media buying. TagadaPay's integration fires a single S2S postback to Voluum every time an order is paid.

***

## Setup

<Steps>
  <Step title="Find your Voluum tracking domain">
    In Voluum: **Settings → Domains**. Copy your **tracking domain** (the custom domain you've CNAMEd to `track.voluum.com`).

    Do **not** use `voluum.com` — that won't be associated with your workspace.
  </Step>

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

    No API key — the click\_id provides the auth.
  </Step>

  <Step title="Make sure your offer URL forwards the Voluum click_id">
    Voluum's **Click ID** token is `{clickid}`. In your campaign offer URL, append it as `cid` so it reaches the lander:

    ```
    https://yourstore.com/checkout?cid={clickid}
    ```

    TagadaPay reads the `cid` URL parameter (also `click_id` as a fallback), captures it into the customer record at checkout creation, and uses that value when firing the postback.
  </Step>

  <Step title="Place a test order">
    Within \~60s of the order being paid, the conversion should appear in your Voluum **Conversions** report.
  </Step>
</Steps>

***

## What TagadaPay Fires

Per [Voluum's official postback URL spec](https://doc.voluum.com/en/track-conversions-using-s2s-postback-url/parameters-in-postback-urls.html):

```
https://{trackingDomain}/postback?cid={clickId}&payout={payout}&txid={orderId}&currency={currency}
```

**Parameter mapping:**

| Voluum param | Source                                | Notes                                                                                                     |
| ------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `cid`        | Click\_id captured on lander          | Required. Voluum's canonical conversion-id parameter (takes priority over the legacy `c`).                |
| `payout`     | Order's paid amount in major units    | Optional `payoutValue` override available. Has priority over the legacy `p` parameter.                    |
| `txid`       | TagadaPay order id                    | Used to distinguish upsell / multi-step conversions for the same visitor.                                 |
| `currency`   | Order's currency (`USD`, `EUR`, etc.) | Overrides the Voluum offer's currency for that specific conversion — important for multi-currency stores. |

The `et` parameter (custom conversion types) is intentionally not fired because it requires per-account Custom Conversions setup in Voluum and would silently no-op for most merchants.

***

## How TagadaPay Identifies the Click

In priority order:

1. URL parameter `cid` (Voluum's canonical name)
2. URL parameter `click_id` (defensive fallback)
3. Cookie `_voluum`
4. Cookie `voluum`

***

## Optional Settings

* **Fixed payout** — if set, this number is sent as `payout` instead of the order's paid amount. Useful for fixed-CPA campaigns. Leave blank to forward the actual amount paid.

There's no conversion-type field for Voluum because the S2S endpoint distinguishes events by Voluum-side **Custom Conversions**, not by a postback parameter.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Voluum reports the conversion but with $0 revenue">
    The order's `paid_amount` was 0, OR a **Fixed payout** override is set to 0 in the TagadaPay integration form. Clear the override or check the order amount.
  </Accordion>

  <Accordion title="Currency in Voluum is wrong">
    Voluum's offer-level currency setting takes precedence unless `currency=` is in the postback. TagadaPay always sends `currency` now, so this should self-resolve. If not, check the Voluum offer is set to "Auto-detect from postback" rather than a fixed currency.
  </Accordion>

  <Accordion title="Conversions match clicks but attribution is wrong">
    Most likely cause: the lander URL was missing the `{clickid}` token, so TagadaPay captured a stale or empty click\_id. Inspect the order's `customer.metadata.queryParams` in the TagadaPay CRM — `cid` should be a non-empty string starting with the Voluum click prefix.
  </Accordion>
</AccordionGroup>

***

## References

* [Voluum: Parameters in Postback URLs](https://doc.voluum.com/en/track-conversions-using-s2s-postback-url/parameters-in-postback-urls.html)
* [Tracking & Attribution overview](/developer-tools/tracking/overview)
