What counts as an impression

The exact definition, published so the meter can never surprise you, including how bot filtering actually works.

Only the free plan has a limit, so this only affects you there. It is defined precisely anyway.

The definition

One impression is one human-qualified view of the game board.

  • Bots never count. Every request is scored for automated signals and bot traffic is recorded separately, never against your allowance.
  • Replays within a session do not count. A shopper who plays again is not a second impression.
  • The counter resets on the first of each month, UTC.

How bot filtering actually works

The page render is the impression, so the decision happens on the server before any JavaScript ships. Here is exactly what runs.

The score

Each request gets a score from 0 (looks human) to 100 (certainly automated), from three checks on the request headers:

SignalAdds
No User-Agent header at all60
User-Agent matches a known automation name: bot, crawl, spider, headless, phantom, selenium, playwright, puppeteer, curl, wget, python-requests80
No Accept-Language header20

The total is capped at 100. A score of 50 or more is treated as a bot.

In practice: a real browser sends both headers and a normal name, so it scores 0. curl and Googlebot score 80 on the name alone. A headless Chrome that has not been disguised scores 80. A bare script with no User-Agent scores 60. All of those are over the threshold and none of them touch your allowance.

Two separate counters

Every board view increments exactly one of two numbers on your monthly record:

  • Impressions, which is human-qualified views only, and the only number your 300 is measured against.
  • Discarded bot views, which is kept separately and never counted against you.

Nothing is silently dropped. A bot view is recorded as a bot view. It just lives in the other column. That column is not currently on the dashboard; ask us and we will tell you what it says for your store.

Bots are excluded from analytics too

The same score is stamped onto the game session, and every analytics query filters sessions scoring 50 or more. So bot traffic is absent from plays, completions and completion rate as well, not just from the meter. Your funnel numbers are human-only.

It errs toward counting, on purpose

This is a cheap header check, not device fingerprinting. A determined bot that sends a real browser’s User-Agent and an Accept-Language header scores 0 and will be counted.

That trade is deliberate. Fingerprinting shoppers to defend a demo cap would mean collecting far more about them than the mechanic needs, and the page is built to set no cookies and store no IP addresses. Since impressions are never billed, an under-aggressive filter costs a free-plan store a slice of its 300 and costs a paying store nothing at all. An over-aggressive one would redirect real shoppers away from a game you paid to send them to, which is the far more expensive mistake.

What is never stored

The headers themselves are read in memory and discarded. Only the resulting number is kept, as a field on the game session. See the privacy policy.

Previews and replays

Two paths render the board without touching the meter:

  • Editor previews. The preview link from the campaign editor carries a signed token. It renders the board, counts nothing, and writes no session row, so your own dry runs never appear in your analytics as plays.
  • Replays. The replay link in the gift stack carries the original session token. A valid one skips the meter entirely. It still respects an allowance that is already used up, so a paused game stays paused.

Where to see it

The dashboard header shows your usage against the cap at all times, from day one. You should never have to guess.

Impressions are not billed on any paid plan

There is no meter, no overage, no per-view charge. Paid plans are unlimited, so a Black Friday spike costs exactly the same as a quiet Tuesday. The number is a demo cap on the free plan, not a pricing axis.

Why 300

Roughly $150 to $300 of paid-social spend. Enough to see the mechanic work with real traffic, not enough to run a business on.

Related: What happens at 300 impressions · What each plan includes

Still stuck?

Email support@fliptowin.app with your store domain and the game URL you're testing. Every plan gets an answer from someone who has read the code.