Theme

Start for free

Games

For browser games: which channels bring players who pay, and how long they play first.

A web game is free to play in the browser and sells packs, a season pass or a premium unlock through a web checkout. Tally ties each purchase to the player's visits and compares how long payers and others play, so you can see which channels bring paying players.

Start for free

14 days free, no card needed.

01How they sell

  • FreemiumFree to play, with in-game currency packs, cosmetics or a premium unlock bought through the web checkout.
  • SubscriptionA monthly pass or a season pass that renews, with rewards for playing through it.
  • One-offA one-time purchase of the full game after a free demo.

02Payments it reads

  • StripePacks and passes through Stripe Checkout opened from the game, with refunds and chargebacks read.
  • PaddleGames sold worldwide through Paddle as merchant of record for the tax, with transactions and refunds read.
  • Lemon SqueezySmall studios sell premium unlocks through Lemon Squeezy checkouts.

What Tally can't read

  • Purchases in the game's mobile versions on the App Store or Google Play aren't read.
  • Sales of the game on Steam or itch.io aren't read.
  • Revenue shares from game portals and in-game ad income aren't read.
  • Actions inside the game, such as levels or matches, aren't counted unless the game sends them as goals.

03Where buyers come from

  • RedditPosts in game subreddits send players who try the game straight away; revenue per visitor shows how many pay.
  • TikTok and YouTubeClips of play send visitors through in-app browsers and description links, many on phones.
  • DiscordYour game's server sends returning players, often to buy at the start of a season.
  • Game portalsPlayers who found the game on a portal and come to your own site to buy arrive with that portal as referrer.

04What Tally answers

  1. Do paying players play longer before buying?

    What they read compares engaged time per page for buyers and everyone else, so on a game's page it shows whether payers spend longer with the game in view.

    What they read
  2. Where do players drop out before paying?

    Have the game call tally('tutorial_done') and tally('shop_opened'), and the goals view builds a funnel from those steps to purchase, with conversion at each.

    Goals and funnels
  3. Which channel brings players who buy more than once?

    Lifetime value counts every pack and pass under the player's first source, with renewals and repeat rate.

    Lifetime value
  4. How many people are playing right now?

    Live shows who's on the site now on a globe or a flat map, so a clip or a post bringing players can be watched as it happens.

    Live

05Numbers worth watching

Engaged time
Active time with the tab in view, payers against everyone else; players who keep moving keep counting.
Repeat rate
The share of payers who bought more than once, by first source.
Goal conversion
Players reaching the shop over all players, by source.
Refunds and chargebacks
Refunds and chargebacks by source, which a game's checkout needs watching for.

06An example

Example

Reading time

38s

median per pageview

Scroll depth

59%

average depth, of 27,216 views measured

Read to the end

27%

of measured views reached 90% or more

What they read

29,264 pageviews · last 30 days

Open a page to see how far down people read it, and how buyers read it before paying.

  1. /pricing5,526 views78% scrolled on average58s reading time, median

    58s

    reading time, median per view

    78%

    scrolled, on average

    5,526 views · 5,194 with a measured depth

    How far down they read

    Share of measured views that scrolled at least this far

    1. 25% — reached a quarter of the page:95%
    2. 50% — reached half of the page:84%
    3. 75% — reached three quarters of the page:69%
    4. 90%+ — reached the end of the page:48%

    Buyers before paying vs didn't buy

    • Buyers, before paying149 views · 107 buyers96% scrolled on average,1m 41s reading time, median
    • Didn't buy5,342 views · 3,815 visitors61% scrolled on average,44s reading time, median

    35 views by buyers after paying are left out of both.

    Buyers are visitors whose first sale came after viewing this page; only their views before that payment count.

Reading time runs only while the tab is visible and the visitor is active; it's the median per view. A view with no engagement report counts as 0s of reading. Its scroll depth is unknown, so it's left out of every scroll figure rather than counted as 0%. 27,216 of 29,264 pageviews have a measured depth.

Fig. 1What they read on the example site. For a web game, read engaged time on the game's page for buyers and everyone else.

07Setting up

  1. React and ViteFor a game built with React and Vite, add the tag to index.html; if menus and the play screen are separate history routes, each change counts as a pageview.
  2. PaddlePass the visitor's id in customData when the game opens Paddle checkout, so each pack links with high confidence.
  3. Call tally('name') from the game's code at key steps, so tutorial, first win and shop visits count as goals.

08Questions

  • My game also runs on mobile. Are those purchases counted?

    Not purchases made through Apple or Google; only payments through your web checkout in Stripe, Paddle, Lemon Squeezy or Polar are read.

  • Does engaged time keep counting while someone plays?

    Yes, while the tab is in view and the player has moved in the last 30 seconds; a player who stops interacting stops counting.

  • Can I see which country payers are in?

    The country breakdown puts revenue beside each country, converted to US dollars at the day's ECB rate.