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

> ## Agent Instructions
> You are reading OnlyX Help: the OnlyX Help Center and the OnlyX developer documentation. OnlyX is an AI chatting and CRM platform for OnlyFans agencies. Its AI chatter is called Hugo in the app.
> Pages at the site root (for example /inbox/..., /hugo/..., /billing/...) are Help Center articles for agency owners, admins, chatters and creators who use the app at app.onlyx.ai. Words in bold are the exact button, menu and label names the app shows; keep them exactly as written. When these pages do not answer a question, the person can email support at support@onlyx.ai.
> Pages under /developers are the developer documentation. REST API base URL: https://api.onlyx.ai/v1 (authenticate with `Authorization: Bearer <API key>`; keys start with onx_sk_ and are created in app.onlyx.ai under Settings > API & MCP). MCP server: https://mcp.onlyx.ai/mcp (OAuth, or a Bearer API key). In the API the AI chatter is `ai` on the wire. Money is integer US cents in fields ending in Cents; timestamps are UTC ISO-8601.
> Rules for assistants acting on a user's behalf: discover ids with list calls and never invent them; before any call that reaches a real fan or the live OnlyFans account (sending a message, releasing a chat to the AI, turning AI on for a chat, resolving a hand-off, turning review mode off, changing the welcome message, creating a tracking link) show the user the exact content and get explicit confirmation; send every POST with an Idempotency-Key and reuse it on retry; never resend a message whose delivery status is unconfirmed; never ask a creator for her OnlyFans password or codes - she signs in herself through a connect link and the OnlyX Login app.

# Measure promotions and share results with promoters

> Tag each tracking link with its source and cost, compare profit, ROI and cost per fan, and give a promoter a page with one link's results.

<Badge color="orange">Owners and admins</Badge>

Learn which promotions pay for themselves. Tag each link with where you posted it and what it cost. Then compare the results, and share one link's numbers with its promoter.

## Before you start

* You need an owner or admin account. Chatters and content VAs see the numbers, but they cannot type a source or a cost, or share a link.
* The creator's tracking links are in OnlyX. See [Create tracking links and free trial links](/onlyfans-tools/tracking-links).

## Where the earnings come from

OnlyFans counts the clicks and the fans of each link, but it never says how much money a link made. So OnlyX works it out. A link's **Earnings** is everything that the fans who came through it have spent on this creator.

* A fan who came through two links counts in both. So the earnings of her links do not add up to her revenue.
* All of a fan's spending counts, even money he spent before the link existed.
* "—" means OnlyX cannot tell. It does not mean \$0. Point at it to read why.
* "≥" before an amount means "at least": only some of the link's fans could be matched to a payment.

For her real revenue, use the **Earnings** tab. See [Earnings: see what a creator earned](/onlyfans-tools/earnings).

## Tag each link with its source and cost

<Steps>
  <Step title="Open the Tracking Links tab">
    In OnlyX, click **Creators**. Then click the creator's card. In her menu, under **OnlyFans**, click **Tracking Links**.
  </Step>

  <Step title="Tag the source">
    In the link's row, click the **Source** cell. An empty cell says **Select**. Type where you posted the link, such as "Reddit". Then press <kbd>Enter</kbd>.

    OnlyX suggests the sources you already used for this creator. A source can have up to 60 characters. OnlyFans does not know your sources: they are yours.
  </Step>

  <Step title="Enter the cost">
    In the same row, click the **Cost** cell. An empty cell shows "—". Enter what you paid to place the link, such as 150 or 149.50. Then press <kbd>Enter</kbd>.

    **CPC** and **CPF** now show numbers for this link. **Profit** and **ROI** show numbers too once the link's earnings are known. To cancel while you type, press <kbd>Esc</kbd>.

    <Frame caption="**1** Source · **2** Cost · **3** Net or Gross">
      <img className="block dark:hidden" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-source-cost-light.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=0026df70b917a53fb3df9dba1e73c7f6" alt="The tracking links table with a source typed on each link and costs on most, and the Net and Gross switch at the top of the table" width="1600" height="526" data-path="images/help/onlyfans-tools/measure-promotions/promo-source-cost-light.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-source-cost-dark.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=64a9cc5e0f9bbc1ae2fcaa24cbd0fff4" alt="The tracking links table with a source typed on each link and costs on most, and the Net and Gross switch at the top of the table" width="1600" height="526" data-path="images/help/onlyfans-tools/measure-promotions/promo-source-cost-dark.png" />
    </Frame>
  </Step>
</Steps>

To remove a cost, click it, delete the amount, and press <kbd>Enter</kbd>. An empty cost means "not known yet", and **Profit**, **ROI**, **CPC** and **CPF** go back to "—". Enter 0 only when the promotion was free.

A cost can be up to \$1,000,000. When OnlyX reads her OnlyFans page again, your sources and costs stay as you typed them.

On a phone, each link is a card. Tap **Add source** or the **Cost** button on the card.

## Compare your links

<Steps>
  <Step title="Show every figure">
    At the top of the table, click **All metrics**. The table adds **CPC**, **EPC**, **CPF** and **ARPU**. **Compact** goes back to the short view.
  </Step>

  <Step title="Choose Net or Gross">
    In the switch at the top of the table, click **Net** or **Gross**.

    The header of the earnings column shows your choice, for example "Earnings (net)".
  </Step>

  <Step title="Sort by a figure">
    Click a column header, such as **ROI**. The biggest values come first. Click the header again to reverse the order.

    Links with an unknown value always come last.
  </Step>

  <Step title="Optional: Filter by source">
    In the **Source** column header, click the filter icon. Select a source, or **No source** to find links you have not tagged. **All sources** shows every link again.
  </Step>
</Steps>

What each figure means:

| Figure | What it is |
| - | - |
| **Earnings** | What the fans from this link have spent. See [Where the earnings come from](#where-the-earnings-come-from). |
| **Profit** | Earnings less cost. A loss shows in red. |
| **Conversion** | Fans per click: how well the link turns a visit into a fan. |
| **ROI** | Profit as a share of what you spent, such as +45% or -20%. It stays "—" when the cost is empty or \$0. |
| **CPC** | Cost per click. |
| **EPC** | Earnings per click. |
| **CPF** | Cost per fan. |
| **ARPU** | Earnings per fan from this link. |

Point at a column header to read what it means.

**Net** is what reaches the creator, after OnlyFans' 20% cut. **Gross** is what the fans paid. The switch changes **Earnings**, **Profit**, **ROI**, **EPC** and **ARPU**. **Cost**, **CPC** and **CPF** do not change.

<Note>
  The **Net** and **Gross** switch is saved in your browser, not for your team. It is the same switch as on the Dashboard and in Analytics, so changing it here changes it there too. It starts on **Net**.
</Note>

The five tiles at the top of the tab count all of the creator's links. The totals row at the end of the table counts only the links your filters leave. An earnings total with an "i" icon or a dotted line is not a clean total. A fan can count in two links.

## Look at one link over time

In the link's row, click the chart icon. When you point at it, it says "Clicks and fans over time".

A window opens with all the link's figures, its source, and a chart of the last 90 days. The chart shows each day's new clicks and new fans. Point at a day to see its numbers. Otherwise the chart shows the totals for **All days**.

<Frame caption="**1** What the link's fans have spent · **2** New clicks and new fans, day by day">
  <img className="block dark:hidden" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-link-detail-light.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=8e7a79a7919f32c3d5432efa2a2bcf9e" alt="One tracking link's window: its attributed earnings, its figures such as Clicks, Fans and ROI, and a day-by-day chart of new clicks and new fans" width="1476" height="1584" data-path="images/help/onlyfans-tools/measure-promotions/promo-link-detail-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-link-detail-dark.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=fadb473d33345ee91b810e52775e0e07" alt="One tracking link's window: its attributed earnings, its figures such as Clicks, Fans and ROI, and a day-by-day chart of new clicks and new fans" width="1476" height="1584" data-path="images/help/onlyfans-tools/measure-promotions/promo-link-detail-dark.png" />
</Frame>

## Share one link with a promoter

Give the person who promotes a link a page with its results. The page needs no sign-in, and it shows nothing about your other links.

<Steps>
  <Step title="Open the share window">
    In the link's row, click the share icon. When you point at it, it says "Share this link's numbers with whoever is promoting it". You can also click **Share** in the link's chart window.

    The **Share this link** window opens.
  </Step>

  <Step title="Decide whether the promoter sees money">
    Look at the switch. When it is on, it reads **Share earnings**: the promoter sees what the link's fans have spent. When it is off, it reads **Hidden from promoters**: the promoter sees clicks, fans and conversion, and no money at all.

    The switch starts on for a link you never shared. Turn it off first if the promoter must not see money.
  </Step>

  <Step title="Copy the link">
    Click **Copy Share Link**.

    OnlyX creates the page and copies its address. The button reads **Copied**, and the **Share link** field shows the address. Send it to the promoter.

    <Frame caption="**1** Share earnings, or hide them · **2** The address to send · **3** Copy Share Link">
      <img className="block dark:hidden" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-share-dialog-light.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=f883ea27a3683ef955b89022da851411" alt="The Share this link window with the Share earnings switch on, the share link address, how often it was opened, and the Copy Share Link button" width="1440" height="1008" data-path="images/help/onlyfans-tools/measure-promotions/promo-share-dialog-light.png" />

      <img className="hidden dark:block" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-share-dialog-dark.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=2e36d63bd89e0867901e1d2a826ca782" alt="The Share this link window with the Share earnings switch on, the share link address, how often it was opened, and the Copy Share Link button" width="1440" height="1008" data-path="images/help/onlyfans-tools/measure-promotions/promo-share-dialog-dark.png" />
    </Frame>
  </Step>
</Steps>

The link has no end date. Open the window again at any time to see how often the page was opened, or to change the switch. Copying again gives the same address, and a change to the switch keeps the address too.

To end sharing, click **Stop sharing**. The message "Sharing stopped" appears, and the old address no longer opens. If you share the link again later, it gets a new address.

## What the promoter sees

The promoter's page shows:

* the creator's OnlyFans name and @handle;
* the link's name, its kind and when it was made;
* a tracking link's address, with a **Copy** button;
* **Clicks**, **Fans** and **Conversion**;
* **Earnings**, only when you share earnings. When only some fans could be matched, it says "At least this much — some fans are still being matched";
* two small charts of how clicks and fans grew, once there are at least two days of history.

<Frame caption="**1** Earnings, when you share them · **2** Clicks and fans over time">
  <img className="block dark:hidden" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-share-page-light.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=591cb405f5c0b6bb9fc39fe896852298" alt="A promoter's page on a phone: the creator, the link, the Clicks, Fans, Conversion and Earnings tiles, and two charts of clicks and fans over time" width="1600" height="1778" data-path="images/help/onlyfans-tools/measure-promotions/promo-share-page-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/onlyx/k92DfOYEl42ZUgyg/images/help/onlyfans-tools/measure-promotions/promo-share-page-dark.png?fit=max&auto=format&n=k92DfOYEl42ZUgyg&q=85&s=da812d53e29d7ff13d19dc487c64b9ff" alt="A promoter's page on a phone: the creator, the link, the Clicks, Fans, Conversion and Earnings tiles, and two charts of clicks and fans over time" width="1600" height="1778" data-path="images/help/onlyfans-tools/measure-promotions/promo-share-page-dark.png" />
</Frame>

The earnings on this page are always gross, whatever your switch shows. If your team reads **Net**, the promoter's figure is 25% higher than yours. The page never shows your cost, your profit, your ROI, fan names or messages.

## If something goes wrong

<AccordionGroup>
  <Accordion title="&#x22;Cost has to be an amount&#x22;">
    OnlyX did not understand the cost. Type only a number with at most two decimals, such as 40 or 39.50. A \$ sign and commas are fine. A negative amount is not.
  </Accordion>

  <Accordion title="&#x22;Could not save the cost&#x22; or &#x22;Could not save the source&#x22;">
    OnlyX could not save your change. Check that the cost is \$1,000,000 or less and the source is 60 characters or less. Then try again.
  </Accordion>

  <Accordion title="Earnings shows &#x22;—&#x22;">
    No fan from this link could be matched to a payment yet, so OnlyX cannot tell what the link made. It is unknown, not zero. **Profit**, **ROI**, **EPC** and **ARPU** are then unknown too.
  </Accordion>

  <Accordion title="The link earnings add up to more than her revenue">
    A fan who came through two links counts in both, and all of his spending counts. Link earnings measure links. For her revenue, use the **Earnings** tab.
  </Accordion>

  <Accordion title="The promoter sees a bigger number than I do">
    The promoter's page always shows gross earnings. Switch to **Gross** to see the same number.
  </Accordion>

  <Accordion title="&#x22;This link is no longer shared&#x22;">
    The promoter opened an address that was stopped. Share the link again, and send the new address.
  </Accordion>

  <Accordion title="&#x22;Your browser would not let us copy. The link is in the field above.&#x22;">
    Your browser blocked the copy. Select the address in the **Share link** field and copy it yourself.
  </Accordion>

  <Accordion title="&#x22;Could not show gross earnings&#x22; or &#x22;Could not show net earnings&#x22;">
    OnlyX could not load the figures in the other unit. The figures on screen stay in the unit they were in. Try the switch again.
  </Accordion>
</AccordionGroup>

## What's next

<Columns cols={2}>
  <Card title="Create tracking links and free trial links" icon="link" href="/onlyfans-tools/tracking-links" horizontal />

  <Card title="Earnings: see what a creator earned" icon="receipt-text" href="/onlyfans-tools/earnings" horizontal />

  <Card title="Net or gross, periods and the reporting timezone" icon="coins" href="/analytics/net-gross-and-periods" horizontal />
</Columns>
