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

# Affiliates' own pixels and postbacks

> How affiliates send the conversions they bring in to their own Meta pixel, Everflow or Taboola account, or to their own server as signed postbacks.

Affiliates who buy traffic need their conversions in their own ad accounts. The portal lets them set that up
themselves, under **Tracking** and **Postbacks** in the menu. You do not need to do anything.

## Tracking

**Tracking** forwards the affiliate's conversions on one brand to an ad platform. They click **Add tracking**, pick
what to connect and the **Brand** it applies to:

| Connection | What they fill in | What is sent |
| - | - | - |
| **Meta pixel** | Meta Pixel ID, Conversions API access token, Purchased-from URL | Purchases, through the Conversions API |
| **Everflow postback** | The postback URL from Everflow, with macros | A postback for each conversion |
| **Taboola S2S** | The Event Name of their conversion rule in Taboola Realize | Conversions against the `tblci` click id |

<img src="https://mintcdn.com/elasticfunnels-8a91cd9d/Ie70JK7_rz-AqHZp/images/affiliate-portal/portal-tracking.png?fit=max&auto=format&n=Ie70JK7_rz-AqHZp&q=85&s=7683eb6178ae96857de72f63213e0bb0" alt="The Tracking page on the portal with a Meta pixel on one brand, Taboola on the other, and the Add tracking button" width="3064" height="972" data-path="images/affiliate-portal/portal-tracking.png" />

The revenue reported is always the affiliate's commission, not your order total, so their ROAS is measured against
what they earn.

* **Everflow** macros: `{sub1}` to `{sub5}` (the sub IDs from their link), `{payout_amount}` (their commission),
  `{amount}` (the order total), `{currency}`, `{order_id}` and `{event}`.
* **Taboola** needs `tblci` on the landing URL. Taboola adds it when the campaign URL ends in `?tblci={click_id}`.
  Clicks without it are skipped, and refunds and chargebacks are not sent.

## Postbacks

**Postbacks** sends the affiliate's conversions to their own server. They are set per brand: each brand has its own
endpoints, signing secret and delivery log. An affiliate on several brands picks one in the brand picker at the top
of the page (or in the sidebar). With **All brands** selected the page asks for a brand and shows nothing to edit.

**Tracking** follows the sidebar too: with a brand selected it lists that brand's settings and **Add tracking**
starts on it; with **All brands** it lists every brand by name and asks which brand a new setting is for.

<img src="https://mintcdn.com/elasticfunnels-8a91cd9d/Ie70JK7_rz-AqHZp/images/affiliate-portal/portal-postbacks.png?fit=max&auto=format&n=Ie70JK7_rz-AqHZp&q=85&s=168922d3b0288eec4d521e3163a660b0" alt="The Postbacks page on the portal: the signing secret with Reveal and Rotate, and endpoints for sale and refund events" width="3064" height="1228" data-path="images/affiliate-portal/portal-postbacks.png" />

1. **Add postback**: pick the **Event type**, the **Endpoint URL** and the **Payload format** (JSON or form-encoded).
   **Send test** posts a sample before they save.
2. Events: **Sale**, **Lead**, **Upsell**, **Rebill**, **Refund**, **Chargeback**, **Hold**, **Approve**,
   **Reject**.
3. Each request carries `X-EF-Event` with the event, and `X-EF-Signature` in the form `v1=<hex digest>`: an
   HMAC-SHA256 of the raw body with the **Signing secret** shown on the page. **Rotate** makes a new secret, and
   the version number goes up.
4. **What we send** lists the fields. Customer details are not sent.
5. **Recent deliveries** shows the last 25 attempts, tests included, with their HTTP status.

## Related

* [Affiliate postback URLs](/affiliates/postback-urls): postbacks you set up for an affiliate from the brand side.
* [Tracking links](/affiliate-portal/affiliate-links)


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