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

# Content sales and Chat activity reports

> See how your PPVs perform, which prices and media get opened, how fast fans get a reply, and who answers them: Hugo or your team.

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

Two reports in **Analytics** show how the money was made. **Content sales** covers the PPVs you sent. **Chat activity** covers the conversations with fans.

## Before you start

* You need an owner or admin account.
* In **Analytics**, click **Content sales** or **Chat activity** in the list of reports.
* Both reports use the creator picker and the period. Neither has a **Net** or **Gross** switch. See [Net or gross, periods and the reporting timezone](/analytics/net-gross-and-periods).
* Both reports include Telegram creators. Conversations between two of your own creators are left out.

## Content sales

**Content sales** looks at the paid messages (PPVs) sent in the period, and how many fans opened them.

<Note>
  **Content sales** counts each PPV on the day it was sent, and uses the price you asked. It does not show money that was collected. For real earnings, use **Revenue overview**.
</Note>

### The four tiles

| Tile | What it shows |
| - | - |
| **Paid messages sent** | PPVs with a price that were really sent in the period. Queued and failed PPVs are not counted. |
| **Opened** | The share of those PPVs that a fan unlocked. It is not a payment receipt. |
| **Unlocked ask value** | The prices asked for the PPVs that fans unlocked. It does not prove that the money was collected. |
| **Hugo's open rate** | The **Opened** share for the PPVs that Hugo sent. |

A PPV counts on the day it was sent. If a fan unlocks it later, the figures for that earlier day go up. So recent days can look weak: their PPVs have had less time to be opened. A line under the tiles says so.

### The charts

* **Sent and opened per day**: each day's PPVs, split into **Opened** and **Not opened yet**. The dashed **Typical day** line is the median of complete days.
* **Who sent them?**: the PPVs sent by **Hugo**, by **Creator & team**, and by an **Unknown author**, each with its open rate. These groups may reach different fans, so compare them with care.
* **By creator**: **Sent**, **Opened** and **Open rate** for each creator. Click **See sends** on a row to list that creator's PPVs.

<Frame caption="**1** The share of PPVs that fans opened · **2** Each day's PPVs, opened or not · **3** Hugo against your team">
  <img className="block dark:hidden" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/content-sales-light.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=727affd68339356340ab964e44b507a3" alt="Content sales: the Paid messages sent, Opened, Unlocked ask value and Hugo's open rate tiles, the Sent and opened per day chart, and Who sent them?" width="1600" height="1202" data-path="images/help/analytics/content-sales-and-chat-activity/content-sales-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/content-sales-dark.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=32c0739f818a0a6f509ec6c79da6ba46" alt="Content sales: the Paid messages sent, Opened, Unlocked ask value and Hugo's open rate tiles, the Sent and opened per day chart, and Who sent them?" width="1600" height="1202" data-path="images/help/analytics/content-sales-and-chat-activity/content-sales-dark.png" />
</Frame>

### Prices and repeated sends

Click **Prices and repeated sends** to open two more charts:

* **Which prices get opened?**: the PPVs in price bands, from "Under $10" to "$50+", each split into opened and not opened. The price is the price of the whole message.
* **Sending the same media again**: the 1st, 2nd, 3rd, 4th and 5th+ send of one paid file to the same fan. Each bar shows how many of those sends were opened. Only sends in the period count. Sends from before the period are unknown.

### Which media get opened?

Click **Which media get opened?** It lists every paid file sent in the period. The top 12 show as previews: "Media 1", "Media 2" and so on. Each preview shows the share of sends that fans opened.

The previews are blurred. Point at a preview to see it without the blur. Click a preview, or **See sends** in the table, to list the PPVs that used that file.

When a PPV holds several paid files, its price is split evenly between them. Free previews are not counted. A line at the end gives the unlocked ask value that OnlyX could not tie to a paid file.

<Frame caption="**1** A paid file, with the share of sends that fans opened">
  <img className="block dark:hidden" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/top-media-light.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=cd634eb85d529e28fe0c9c604d2073cf" alt="The Which media get opened? section: a grid of blurred media previews, each labelled Media 1, Media 2 and so on with its opened share" width="1600" height="877" data-path="images/help/analytics/content-sales-and-chat-activity/top-media-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/top-media-dark.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=c13c7dcefbd05550a210caa858825cf2" alt="The Which media get opened? section: a grid of blurred media previews, each labelled Media 1, Media 2 and so on with its opened share" width="1600" height="877" data-path="images/help/analytics/content-sales-and-chat-activity/top-media-dark.png" />
</Frame>

## Chat activity

**Chat activity** looks at the messages in the period. It shows what fans wrote, and how fast and by whom they got a reply.

### The four tiles

| Tile | What it shows |
| - | - |
| **Fan messages** | Messages that fans sent in the period. |
| **Replies sent** | Messages that your side sent and that were delivered. Queued and failed messages are not counted. |
| **Typical reply time** | The median wait from a fan's first unanswered message to the reply. Several fan messages in a row count as one wait. |
| **Replies over 5 min** | How many answered waits took more than 5 minutes. Its (i) help also says how fast 90% of the answered waits got a reply. |

Reply times read as seconds under 90 seconds, for example "45s". They read as minutes under 90 minutes, for example "12m", and as hours after that, for example "1.5h".

Messages that still have no reply are not in the reply times. Click **See replies** to list each wait and its reply time.

If some replies were queued or failed, a line under the tiles gives their number, for example "1 queued · 1 failed".

### The charts

* **Messages per day**: for each day, the messages **From fans** and the **Replies sent**.
* **When fans write**: fan messages by hour of the day, in your reporting timezone, across all the days in the period. Use it to plan your team's busy hours.
* **Who replied**: the replies sent by **Hugo**, by **Your team** and by an **Unknown** author. A line says, for example, "Hugo sent 77% of replies". **Your team** counts messages that a person sent: the creator herself, or someone on your team.
* **Conversations now**: how many conversations are in each stage now: **Talking**, **Sexting** or **Selling**. This is the inbox as it is today, whatever period you pick.
* **By creator**: **Fan messages**, **Replies sent**, **Hugo share** and **Typical reply** for each creator. Click **See messages** on a row to list that creator's messages.

<Frame caption="**1** How long fans wait for a reply · **2** The hours when fans write · **3** Who sent the replies">
  <img className="block dark:hidden" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/chat-activity-light.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=766058e8ae92cdd55b777a28ebbf7d30" alt="Chat activity: the Fan messages, Replies sent, Typical reply time and Replies over 5 min tiles, the When fans write chart and the Who replied chart" width="1600" height="1245" data-path="images/help/analytics/content-sales-and-chat-activity/chat-activity-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/onlyx/uPTnpEc4lb-MnUky/images/help/analytics/content-sales-and-chat-activity/chat-activity-dark.png?fit=max&auto=format&n=uPTnpEc4lb-MnUky&q=85&s=db4958979d36747fbe4552ed85300323" alt="Chat activity: the Fan messages, Replies sent, Typical reply time and Replies over 5 min tiles, the When fans write chart and the Who replied chart" width="1600" height="1245" data-path="images/help/analytics/content-sales-and-chat-activity/chat-activity-dark.png" />
</Frame>

## See the messages behind a figure

In both reports, click a bar, or a **See sends**, **See replies** or **See messages** link. A window lists the PPVs or messages behind that figure. You can search it, choose its columns and download it with **Export all records**.

Each **By creator** table also has an **Export** button. See [Open the records behind a number and export CSV](/analytics/records-and-csv-export).

## If something goes wrong

<AccordionGroup>
  <Accordion title="Unlocked ask value is higher than my earnings">
    **Unlocked ask value** adds the prices you asked, not the money OnlyFans recorded. It counts by the day of sending, not the day of payment, and it is before OnlyFans' cut. For money, use **Revenue overview**.
  </Accordion>

  <Accordion title="Last week's open rate went up since yesterday">
    That is expected. A PPV counts on the day it was sent. A fan who unlocks it days later raises the figures for that day.
  </Accordion>

  <Accordion title="A report says &#x22;Paid messages could not be loaded&#x22; or &#x22;Could not load this report&#x22;">
    OnlyX could not read the figures this time. The missing figures are not zero. Click **Try again**.
  </Accordion>

  <Accordion title="Replies over 5 min shows a dash">
    No fan got an answer in the period, so there is no wait to measure.
  </Accordion>

  <Accordion title="Conversations now does not change with the period">
    That is by design. **Conversations now** and the unread counts in the **By creator** table always describe the inbox as it is today.
  </Accordion>
</AccordionGroup>

## What's next

<Columns cols={2}>
  <Card title="Revenue overview: what your creators earned" icon="banknote" href="/analytics/revenue-overview" horizontal />

  <Card title="Open the records behind a number and export CSV" icon="table" href="/analytics/records-and-csv-export" horizontal />

  <Card title="Why numbers differ between screens" icon="scale" href="/analytics/why-numbers-differ" horizontal />
</Columns>
