Unlocking Event Volume with the Statistics Token
Your Pixel Insights dashboard can tell you how good your tracking signal is straight away. To also see how much of it there is — how many events you actually sent, and whether they arrived by browser, by server, or only by one of the two — Facebook asks for a second token.
This guide walks through getting one. It takes about twenty minutes, once, and nothing about your existing setup changes while you do it.
If you never do it, nothing breaks and nothing stops working. Your events keep being sent, your match quality scores keep updating, and the dashboard keeps working exactly as it does now. The only difference is that the Event volume section shows clearly-labelled example figures instead of your own.
What the statistics token adds
Once connected, the Event volume section on the dashboard switches from examples to your real shop, for the last seven days:
| Card | What it tells you |
|---|---|
| Events sent | How many of each event actually reached Facebook — PageView, ViewContent, AddToCart, Purchase and the rest, largest first |
| Browser vs server | How many events came from the visitor's browser and how many from your server |
| By device | Desktop, mobile and tablet, so you can compare against the traffic you know you have |
It also fills in the Pixel record panel — your pixel's name, when it last received an event, its approximate match rate, and whether Facebook's own automatic advanced matching is switched on.
Why the browser vs server split is the one worth having
This is the figure most shop owners have never seen for their own shop, and it is the reason the section exists.
Your module sends most events twice on purpose — once from the visitor's browser and once from your server — and Facebook then discards the duplicate. That redundancy is what keeps your tracking working when a browser extension, an ad blocker or a privacy setting stops the browser half from arriving.
So the two numbers should be reasonably close. A large gap means events are only reaching Facebook by one route:
- Server far ahead of browser — normal, and usually good news. It means the server-side half is doing exactly the job it was added to do, covering visitors whose browser was blocked.
- Browser far ahead of server — worth investigating. Your Conversions API is not carrying its share, so any visitor with an ad blocker is invisible.
- One of them at or near zero — one half is not working at all.
None of this is visible from match quality scores, which is why the volume section is worth the twenty minutes.
Before you start
You need to be an admin of the Business Manager that owns your pixel, and you need the system user you already use for the Conversions API. If someone else set up your pixel, this is the point to ask them.
You do not need to write any code, publish anything, or submit anything to Facebook for review.
Step by step
1. Create an app
Go to developers.facebook.com → My apps → Create app.
- For the use case, choose Create & manage ads with Marketing API. This is the one that carries the permissions you need — another choice will not offer them later.
- Connect the app to the same Business Manager that owns your pixel.
The app is only a container for a token to be issued against. You will never open it again.
2. Add the app to your business
Business Settings → Accounts → Apps → Add.
If your new app is not in the list, use Request access to an app ID and paste the app ID shown at the top of its dashboard in Meta for Developers. A newly created app sometimes needs a page refresh before it appears.
3. Assign the app to your system user — this is the step people miss
Business Settings → Users → System users → select your user → Assign assets.
- Apps → your new app → Full control → Save.
- Assign assets again → Data sets → your pixel → Full control → Save.
The token generator will simply not offer you the permissions you need, with no explanation of why. Almost everyone who gets stuck at step 4 is stuck here. Assign the app first, then the dataset.
Facebook has renamed pixels to Data sets in this part of the interface. If you are looking for "Pixels" and cannot find it, that is why.
4. Generate the token
Still on the system user, click Generate new token.
- Select the app you created in step 1.
- Tick
ads_readandads_management.
Copy the token immediately — Facebook shows it once and will not show it again. If you lose it, generating another one is harmless.
5. Paste it into the module
On the Pixel Insights dashboard, in the Event volume section, paste it into Paste your statistics token and click Unlock.
The module checks the token against Facebook before saving it. A token that cannot read your data is rejected on the spot with the reason, rather than being stored and quietly failing later.
Your two tokens
The module keeps two separate slots, and one never overwrites the other:
| Slot | Feeds |
|---|---|
| Read token — the two-minute one from Events Manager | Match quality, event coverage, diagnostics, extra conversions from the Conversions API |
| Statistics token — the one in this guide | Event volume, browser vs server, devices, pixel record |
Neither is a prerequisite for the other, and neither is your Conversions API token — that one lives somewhere else entirely and is never touched by anything on this screen.
If you fill only the statistics slot, the module will use it for match quality too, because the wider permission covers it. The reverse is not true: the quick read token cannot read volume, and that is a Facebook restriction rather than a module limitation.
Removing it
Remove the statistics token on the dashboard disconnects it. The volume section returns to example figures and everything else carries on unchanged.
Your events keep being sent throughout. Removing either Insights token has no effect on tracking whatsoever — these tokens only ever read.
When something does not work
| What you see | What it means |
|---|---|
| The volume section still shows "Example figures — not your shop" | The token was not saved. Look at the message under the field for the reason. |
| The token is rejected as unable to read your data | Almost always the app assignment in step 3. Assign the app to the system user, then generate a new token — an existing one does not gain permissions retroactively. |
| Volume figures are all zero | The token works, but the pixel has genuinely had no events in the period. Send a test event and check again. |
| The token stopped working after a while | It was regenerated or revoked in Business Settings. Generate a new one and paste it in again. |
| Match rate is not shown | Facebook has not calculated one for your pixel yet. It appears on its own once there is enough data. |
Frequently Asked Questions
Q: Do I have to do this? A: No. It is entirely optional. The dashboard works without it and your tracking is unaffected — you simply see example figures in the Event volume section instead of your own.
Q: Will creating a Facebook app break anything or cost anything? A: No. The app is free, is never published, needs no review, and does nothing on its own. It exists only so that a token can be issued against it.
Q: Does this replace my Conversions API token? A: No. They are three different credentials in three different places. Adding, changing or removing an Insights token never touches the token that sends your events.
Q: Why can't the module just use the token I already have? A: Facebook treats sending and reading as separate permissions, and it will not add a reading permission to a token that already exists. Reading volume data specifically requires a wider permission than the quick Events Manager token can carry.
Q: Does the token expire? A: No. Tokens generated this way have no expiry date. They stop working only if someone regenerates or revokes them in Business Settings.
Q: Why only seven days of data? A: That is the window the dashboard asks for, because it is the one that answers "is my tracking healthy right now". Facebook holds more than that, but a longer window makes a change you introduced yesterday much harder to spot.
Q: Where is the token stored? A: In your shop's configuration, like any other setting, and it is only ever sent to Facebook. It also appears in the Advanced statistics token field in the Conversions API section, so anyone with access to your module settings can read it — treat it like any other credential, and regenerate it in Business Settings if you ever need to revoke it.
Q: Can I paste it into the settings form instead of the dashboard? A: You can, but the dashboard is better: it checks the token with Facebook before saving, so a token that will not work tells you immediately instead of leaving you with an empty section and no explanation. Leaving either token box empty and saving never deletes a saved token.
Do I have to do this?
No. It is entirely optional. The dashboard works without it and your tracking is unaffected — you simply see example figures in the Event volume section instead of your own.
Will creating a Facebook app break anything or cost anything?
No. The app is free, is never published, needs no review, and does nothing on its own. It exists only so that a token can be issued against it.
Does this replace my Conversions API token?
No. They are three different credentials in three different places. Adding, changing or removing an Insights token never touches the token that sends your events.
Why can't the module just use the token I already have?
Facebook treats sending and reading as separate permissions, and it will not add a reading permission to a token that already exists. Reading volume data specifically requires a wider permission than the quick Events Manager token can carry.
Does the token expire?
No. Tokens generated this way have no expiry date. They stop working only if someone regenerates or revokes them in Business Settings.
Why only seven days of data?
That is the window the dashboard asks for, because it is the one that answers "is my tracking healthy right now". Facebook holds more than that, but a longer window makes a change you introduced yesterday much harder to spot.
Where is the token stored?
In your shop's configuration, like any other setting, and it is only ever sent to Facebook. It also appears in the **Advanced statistics token** field in the Conversions API section, so anyone with access to your module settings can read it — treat it like any other credential, and regenerate it in Business Settings if you ever need to revoke it.
Can I paste it into the settings form instead of the dashboard?
You can, but the dashboard is better: it checks the token with Facebook before saving, so a token that will not work tells you immediately instead of leaving you with an empty section and no explanation. Leaving either token box empty and saving never deletes a saved token.