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

# Whop Conversion API

> Send ClickFlare conversions to Whop Ads server-to-server through the Whop Events API.

By using ClickFlare's **Conversion API integration with Whop**, you can report the conversions ClickFlare tracks back to **Whop Ads** through Whop's server-side **Events API**. Each conversion becomes a Whop event (a lead, a registration, a purchase and so on) that Whop uses to attribute results to your ad campaigns, ad groups and ads.

This works like a server-to-server postback, but you configure it once in ClickFlare instead of building it yourself, and you control exactly which events are sent and what data travels with them.

***

## Why should I use the Conversion API for Whop?

Whop reports ad results as they are attributed by the Whop pixel, not by the ad network. Browser-side tracking alone loses conversions to ad blockers, cookie restrictions and conversions that happen away from the page, such as a sale confirmed by an affiliate network hours after the click.

Sending events from ClickFlare's server to Whop closes that gap:

* Conversions that ClickFlare records through postbacks reach Whop even though no browser was involved.
* Whop's delivery and optimization learn from the conversions you actually care about, not only the ones a pixel happened to catch.
* You decide which ClickFlare events count as which Whop events, so reporting in Whop matches your funnel.

***

## What you'll need for the integration

<Columns cols={3}>
  <Card title="ClickFlare account" icon="user-check">
    An active account
  </Card>

  <Card title="Whop Ads business" icon="store">
    A business running ads
  </Card>

  <Card title="Whop API key" icon="key" href="#where-to-find-your-whop-api-key">
    Created in Whop
  </Card>
</Columns>

<Callout icon="building" color="#155DFC">
  **One key per business.** Whop generates API keys per business, and the same key powers both the [Whop Conversion API](/docs/en/integrations/whop-conversion-api) and the [Whop cost integration](/docs/en/integrations/whop-cost-integration). If you run several Whop businesses, create a key in each and register each business in ClickFlare separately.
</Callout>

***

## Where to find your Whop API key

<Steps>
  <Step title="Open the right business">
    Log in to [Whop](https://whop.com/dashboard) and select the business you run ads from in the business switcher at the top left. The key you create belongs to the business that is open, so check this first.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/whop/whop-api-key-01.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=a3b975a7bf43e2c7ec4ac8753337be0f" alt="The Whop dashboard with the business switcher at the top left and Developer at the bottom of the sidebar" width="1913" height="928" data-path="images/help-center/05-integrations/whop/whop-api-key-01.png" />
  </Step>

  <Step title="Go to Developer">
    Click **Developer** at the bottom of the left sidebar. The **Company API keys** section lists the keys that already exist for this business.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/whop/whop-api-key-02.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=6ba93e3aed3ed131d986f36cf19de6c8" alt="The Company API keys section of the Whop Developer page, with the Create API key button" width="1915" height="928" data-path="images/help-center/05-integrations/whop/whop-api-key-02.png" />
  </Step>

  <Step title="Create the key">
    Click **Create API key** and fill in the form:

    | Field                             | What to enter                                                                                                           |
    | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
    | **Name**                          | A name you will recognise later, for example `ClickFlare`.                                                              |
    | **Expiration**                    | Leave it blank for a key that never expires. If you set a date, the integration stops working on that date.             |
    | **API version**                   | Leave the default.                                                                                                      |
    | **IP allow-list**                 | Leave it blank. Requests come from ClickFlare's servers, so restricting the key to your own IPs blocks the integration. |
    | **Inherit permissions from role** | Choose **Custom**. See the next step.                                                                                   |

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/whop/whop-api-key-03.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=b75ad85d9445e1d7f49ded1f1aabeb0e" alt="The Create API key form in Whop" width="615" height="904" data-path="images/help-center/05-integrations/whop/whop-api-key-03.png" />
  </Step>

  <Step title="Choose the permissions">
    Open **Inherit permissions from role** and choose **Custom**.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/whop/whop-api-key-04.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=9ec9a7dea8a07faf975b17d428626a36" alt="The role dropdown with Owner, Admin, Moderator and Custom" width="608" height="899" data-path="images/help-center/05-integrations/whop/whop-api-key-04.png" />

    Use **Search permissions** to find and select these three:

    | Permission               | What it is for                                                                         |
    | ------------------------ | -------------------------------------------------------------------------------------- |
    | `company:basic:read`     | Lets ClickFlare read the basic details of your business. Needed for both integrations. |
    | `event:create`           | Lets ClickFlare send conversions to Whop. Needed for the Conversion API.               |
    | `ad_campaign:basic:read` | Lets ClickFlare read your Whop Ads campaigns. Needed for the cost integration.         |

    Select all three even if you only set up one integration today. The same key then works for both.
  </Step>

  <Step title="Copy the key">
    Save the key and copy it straight away. Once you leave the page, the list shows only a masked version such as `apik_NiPR…1185`.
  </Step>
</Steps>

***

## Integrating Whop Conversion API in ClickFlare

<Steps>
  <Step title="Open the Conversion API integrations">
    In ClickFlare, go to **Integrations** in the left-side menu and open the **Conversion API** tab. Click **Add integration**.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-01.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=bae69ba9c856fade40ffffb03f93d45c" alt="The Conversion API tab of the Integrations page, with the Add integration button" width="1910" height="927" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-01.png" />
  </Step>

  <Step title="Select Whop">
    Select **Whop** from the list of available integrations.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-02.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=a2624db7a7519cb24bcd09bda6460d0a" alt="The New Integration picker with Whop in the bottom row" width="828" height="665" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-02.png" />
  </Step>

  <Step title="Name the integration and pick a workspace">
    Give the integration a **Name** and choose the **Workspace** it belongs to. **Public** makes it available across your account; pick a specific workspace to keep it to one team. See [Managing cost and CAPI integrations in workspaces](/docs/en/multi-user-access-workspaces/managing-cost-and-capi-integrations-in-clickflare-workspaces).

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-03.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=0e7ff3e348a61d32fc88e90be5bc53bb" alt="The Whop integration form with Name, Workspace, Whop Account, Action Source, Event Type Mapping, Event Data Configuration and Event filter" width="825" height="675" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-03.png" />
  </Step>

  <Step title="Register your Whop business">
    Open the **Whop Account** dropdown. The first time, it is empty. Click **New Pixel**.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-04.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=88051cc097512ecbcf7eae0612a46d79" alt="The Whop Account dropdown with no options and the New Pixel button" width="817" height="668" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-04.png" />

    In **Register new Whop Pixel**, enter:

    * **Account Name** — a label for this Whop business in ClickFlare, for example the business name.
    * **API Key** — the company API key you created in Whop.

    Click **Save**. The business now appears in the **Whop Account** dropdown, and you can reuse it in any other Whop integration.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-05.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=1a060ec54a992d351ebb0fa2be009b94" alt="The Register new Whop Pixel dialog with Account Name and API Key" width="533" height="269" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-05.png" />
  </Step>

  <Step title="Set the Action Source">
    Whop asks where each conversion happened. Pick the **Action Source** that describes your funnel: **Website** for a landing page or site, **App** for an app, **Phone Call** for pay-per-call, and so on. Most ClickFlare campaigns use **Website**.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-06.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=b5fd7c4cc3621b68fc95729c0b80e1fe" alt="The Action Source dropdown: Website, App, Email, Phone Call, Chat, Physical Store, System Generated, Business Messaging, Other" width="815" height="661" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-06.png" />
  </Step>

  <Step title="Map ClickFlare events to Whop events">
    Under **Event Type Mapping**, choose a **ClickFlare Conversion** on the left and the **Whop Event Type** it should become on the right. Click **Add Configuration** to map more events. Only the events you map are sent.

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-07.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=2f84cabcda94969f3d42ef5bd653d091" alt="The Whop Event Type dropdown: Lead, Schedule, Submit Application, Contact, Complete Registration, View Content, Add to Cart, Purchase" width="831" height="703" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-07.png" />

    See [Whop event types](#whop-event-types) below for what each one means, and [Custom conversions](/docs/en/settings/custom-conversions) to create ClickFlare events that match your funnel steps.
  </Step>

  <Step title="Configure the event data">
    Expand **Event Data Configuration** to see what ClickFlare sends with each event. Each row pairs a **Whop Parameter** with the **ClickFlare Token** that fills it. A new integration comes pre-filled with the defaults below. Keep them: they are what Whop uses to match the event and record its value.

    | Whop parameter | ClickFlare token        |
    | -------------- | ----------------------- |
    | Referrer URL   | \{\{referrer}}          |
    | IP Address     | \{\{ip}}                |
    | User Agent     | \{\{user\_agent}}       |
    | Event ID       | \{\{clickid\_txid\_ct}} |
    | Value          | \{\{payout}}            |
    | Currency       | \{\{payout\_currency}}  |
    | Country        | \{\{country\_code}}     |
    | State          | \{\{region}}            |
    | City           | \{\{city}}              |
    | Postal Code    | \{\{zip\_code}}         |
    | Language       | \{\{language}}          |
    | Timezone       | \{\{timezone}}          |

    <img src="https://mintcdn.com/clickflare/0NdLMeakPfqPMMkV/images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-08.png?fit=max&auto=format&n=0NdLMeakPfqPMMkV&q=85&s=2718345b30b281c21b8b5263967abb95" alt="The default Event Data Configuration for Whop" width="852" height="806" data-path="images/help-center/05-integrations/01-conversion-api-integrations/13-whop-conversion-api-08.png" />

    **Event ID** combines the click ID, the transaction ID and the conversion type, so every conversion gets a stable ID of its own. That is what stops Whop from counting a re-sent conversion twice.

    To send more, click **Add Configuration** and pick a Whop parameter. See [More Whop parameters](#more-whop-parameters) below for the full list, and [Additional parameters](/docs/en/integrations/additional-parameters) for how the mapping works.
  </Step>

  <Step title="Optionally, add an event filter">
    **Event filter** sends an event only when it meets conditions you set, for example only conversions above a certain payout or from certain countries. Without conditions, every mapped event is sent. See [Event Filter](/docs/en/advanced-tracking-configuration/conversion-filter).
  </Step>

  <Step title="Save">
    Click **Next** and save the integration. It now appears on the **Conversion API** tab.
  </Step>

  <Step title="Connect it to your campaign">
    A Conversion API integration sends conversions only for the campaigns it is connected to. Open your Whop campaign in the campaign editor and select the Whop integration under **Conversion API Integrations**, then save the campaign.

    You can also select the integration on your Whop traffic source. That makes it the default for campaigns that use the traffic source, but the campaign's own setting is what counts, so always check it there.
  </Step>
</Steps>

From now on, ClickFlare automatically sends the mapped conversions from that campaign to Whop.

***

## Whop event types

The **Whop Event Type** dropdown offers Whop's eight standard events.

| Whop event                | Use it for                                           |
| ------------------------- | ---------------------------------------------------- |
| **Lead**                  | A visitor submits contact details or an opt-in form. |
| **Schedule**              | A visitor books a call or appointment.               |
| **Submit Application**    | A visitor submits an application.                    |
| **Contact**               | A visitor starts a conversation or contact request.  |
| **Complete Registration** | A signup or registration finishes.                   |
| **View Content**          | A visitor views a key page or piece of content.      |
| **Add to Cart**           | A visitor adds an item to a cart.                    |
| **Purchase**              | A sale completes on your own checkout.               |

<Warning>
  **Do not send Purchase for a sale Whop processed.** If the offer is sold through a Whop checkout, Whop already records that purchase. Mapping your ClickFlare sale to **Purchase** as well counts it twice. Leave it out of the mapping.
</Warning>

A **Purchase** needs a value greater than zero, so map it to a ClickFlare conversion that carries a payout. Whop rejects a purchase without one.

***

## More Whop parameters

Beyond the defaults, you can add any of these in **Event Data Configuration**. None is required. Add the ones you have data for.

<AccordionGroup>
  <Accordion title="Event details" icon="bolt">
    Event Name, Event Time, URL, Title, Product ID, Plan ID, Value Manual, Event ID Manual.
  </Accordion>

  <Accordion title="Visitor identity" icon="user">
    Anonymous ID (`_wuid`), External ID, Whop User ID, Whop Member ID, Whop Membership ID, Email, Phone, First Name, Last Name, Username.

    Email and phone help Whop match a conversion to a person when nothing else links it to the ad click. Send them as they were entered. Whop does its own matching and drops hashed emails as invalid.
  </Accordion>

  <Accordion title="Click IDs and cookies" icon="arrow-pointer">
    Meta Browser ID (`_fbp`), Meta Click ID Cookie (`_fbc`), Meta Click ID (`fbclid`), Google Click ID (`gclid`), TikTok Click ID (`ttclid`), Microsoft Click ID (`msclkid`), LinkedIn Click ID (`li_fat_id`), Reddit Click ID (`rdt_cid`), X Click ID (`twclid`), Snapchat Click ID (`sccid`).
  </Accordion>

  <Accordion title="UTMs and Whop ad IDs" icon="tag">
    UTM Source, UTM Medium, UTM Campaign, UTM Content, UTM Term, Whop Campaign ID (`wacid`), Whop Ad Group ID (`wasid`), Whop Ad ID (`waid`).

    The [Whop traffic source template](/docs/en/integrations/whop-cost-integration#how-cost-matching-works) already captures `fbclid` as \{external\_id} and `wacid`, `wasid` and `waid` as \{trackingField1} to \{trackingField3}, so you can map these parameters straight to those tokens.
  </Accordion>
</AccordionGroup>

***

## How Whop handles the events you send

<AccordionGroup>
  <Accordion title="Attribution" icon="link">
    Whop works out which ad drove a visit from the parameters on the landing page URL: `wacid`, `wasid` and `waid` are the Whop campaign, ad group and ad IDs, alongside the network's own IDs and `fbclid`. Create your traffic source from the **Whop** template so ClickFlare captures them, and do not strip query parameters from the ad's destination URL.
  </Accordion>

  <Accordion title="The 28-day limit" icon="clock">
    Whop rejects events more than **28 days** old, and treats timestamps in the future as now. A conversion that reaches ClickFlare later than that, such as a delayed affiliate postback, is not accepted by Whop.
  </Accordion>

  <Accordion title="Duplicates" icon="clone">
    Whop keeps one copy of events that share the same event name and event ID. The default **Event ID** mapping gives each conversion a stable ID, so a conversion that is re-sent is not counted twice. Keep that mapping in place.
  </Accordion>
</AccordionGroup>

***

## Troubleshooting

| Issue                          | Possible cause                                          | Solution                                                                                    |
| ------------------------------ | ------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| The Whop account does not save | The key was copied incompletely, deleted or expired     | Copy the key again from Whop, or create a new one.                                          |
| No events in Whop              | The key is missing `event:create`                       | Edit the key's permissions in Whop, or create a new key with all three permissions.         |
| No events in Whop              | The key belongs to a different business                 | Keys are per business. Create the key in the business that runs the ads.                    |
| No events in Whop              | The integration is not connected to the campaign        | Select it in the campaign editor under **Conversion API Integrations**.                     |
| No events in Whop              | The ClickFlare conversion is not mapped                 | Add it under **Event Type Mapping**.                                                        |
| Events stopped arriving        | The key expired, or an IP allow-list was added          | Create a new key without an expiry or allow-list and update the Whop account in ClickFlare. |
| Some conversions missing       | They are older than 28 days                             | Whop rejects them. Nothing to fix on ClickFlare's side.                                     |
| Purchases rejected             | **Purchase** is mapped to a conversion without a payout | Map **Purchase** to a conversion that carries a payout.                                     |
| Purchases counted twice        | Whop checkout plus a mapped **Purchase**                | Stop mapping the sale to **Purchase**.                                                      |

For the general checklist, see [CAPI or pixel not firing](/docs/en/troubleshooting/capi-or-pixel-not-firing).

***

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Is it the same API key as the cost integration?">
    Yes. One company API key per Whop business covers both, as long as it has all three permissions: `company:basic:read`, `event:create` and `ad_campaign:basic:read`.
  </Accordion>

  <Accordion title="Can I send a custom event name?">
    No. Whop's event types are the eight standard ones in the dropdown. Map each ClickFlare conversion to the closest match.
  </Accordion>

  <Accordion title="I have several Whop businesses. What do I do?">
    Create a key in each business, then register each one through **New Pixel** with a clear **Account Name**. Pick the matching account in each integration.
  </Accordion>

  <Accordion title="Do I still need the Whop pixel on my landing page?">
    Whop requires its pixel on external landing pages before an ad can go live. The Conversion API does not replace it. It adds the conversions the pixel cannot see.
  </Accordion>

  <Accordion title="Which Action Source should I pick?">
    The one that describes where the conversion happened. For a landing page or website funnel, choose **Website**. For pay-per-call, **Phone Call**.
  </Accordion>
</AccordionGroup>

***

## Related guides

* [Whop cost integration](/docs/en/integrations/whop-cost-integration)
* [Custom conversions](/docs/en/settings/custom-conversions)
* [Additional parameters](/docs/en/integrations/additional-parameters)
* [Event Filter](/docs/en/advanced-tracking-configuration/conversion-filter)
* [Whop Events API documentation](https://docs.whop.com/developer/ads/events-api)
