Team-only operations and reports. Access uses the same email allowlist as Worksheet Reports (WORKSHEET_QUALITY_ADMIN_EMAILS).
Total users (profiles): —
Unique sessions (1d) (DAU): —
Unique sessions (30d) (MAU): —
Guest sessions (30d): —
Signed-in sessions (30d): —
Total generations (saved history): —
Total Genie Points used (lifetime): —
Paid subscribers: —
Users on free trial: —
Loading statistics…
DAU/MAU count distinct browser-tab sessions from page_view events (includes guests). Rolling windows: last 24 hours and last 30 days. Math try pages before this rollout used math_try_page_view — those are included too.
Each user and weighted Genie Points consumed (text = 1 pt, image = 8 pts). Sorted by usage.
UTC calendar date and model string stored on each generation (or <kind>-gennie when model is empty).
All registered profiles and saved-generation count (0 if none). Email when available; otherwise a shortened user id.
UTC calendar date across all models.
Same model label as the date × model table (stored value or <kind>-gennie).
Distinct users grouped by current subscription tier.
Status values from profiles (for example: none, trial, active, past_due, canceled).
Anonymous vs signed-in traffic, acquisition channels, and the sign-in funnel
(sign_in_prompt_*, sign_in_completed). Sessions may
appear in both guest and signed-in counts if the user logs in mid-visit.
Guest sessions (1d): —
Guest sessions (30d): —
Signed-in sessions (1d): —
Signed-in sessions (30d): —
Sign-in prompts shown: —
Sign-in prompts clicked: —
Sign-ins completed (30d): —
New accounts (7d): —
New accounts (30d): —
Prompt click-through: —
Top landing paths from page_view (includes app routes and try pages).
Distinct tab sessions grouped by first-touch channel (UTM + referrer).
Raw page-view count per acquisition channel.
What caused the sign-in dialog or completion nudge (verify, share, locked tab, …).
Which triggers led to a Sign in / Create account click.
One row per outbound AI call (Claude, OpenAI, Gemini), recorded by the
server in the ai_calls ledger. Includes calls that don't
save a generation row (translate, OCR, grading, image post-processing).
Token counts are best-effort per provider — image APIs don't return them.
Total AI calls: —
Total input tokens: —
Total output tokens: —
UTC calendar date and exact model id (claude-sonnet-4-6, dall-e-3, gemini-2.5-flash-image, gpt-4.1-mini, …).
Email when known; sorted by call count.
Anthropic / OpenAI / Google rollups.
All models combined per UTC day.
All-time totals per model. Token sums are 0 for image-only models.
Share links created by users (shared_puzzles) and opens of
those links (shared_puzzle_views, with UTM source and country
attribution). Views are mapped back to a tool via the link's slug.
Total share links created:
Total share link opens:
How many share links were created per tool (matchstick, jigsaw, sudoku, …).
How many times shared links for each tool were opened.
Individual share links with the most opens (slug → tool → opens). Answers "how many times was this specific puzzle shared/opened".
UTM source on the opened link (twitter, facebook, whatsapp, linkedin, copy_link, or direct).
Best-effort country from the view ping.
UTC calendar date of link opens.
First-party behavior events from POST /api/track
(product_events). Wired: page views (DAU/MAU),
PDF downloads (by tool,
preset, and source), math try page views (by worksheet and
social channel), and share clicks.
Total tracked events: —
Unique sessions (1d) (DAU): —
Unique sessions (30d) (MAU): —
How many times users downloaded a PDF, grouped by tool.
Same rollup as
select props->>'preset_id', props->>'source', count(*) from product_events where event = 'pdf_download' and tool = 'math' group by 1, 2 order by 3 desc.
marketing_static = try page; app = Math Genie.
Math Genie worksheet PDF downloads, grouped by preset id (props.preset_id).
marketing_static = try landing page; app = Math Genie in the app.
Static /try/*.html landing page views (math_try_page_view).
How visitors arrived (Pinterest, Facebook, direct, etc.) from UTM + referrer.
Share intent (button + platform clicks) before a link is opened, grouped by tool.
Client-reported tool_error events (populated once error tracking is wired).
Every event type captured, by total count.
All events combined per UTC day.
Pick which AI model serves each feature. Image slots can swap between DALL·E 3, Nano Banana (Gemini), and gpt-image-1. Text slots can switch between Claude versions (Sonnet 4 / 3.5 Sonnet / 3.5 Haiku / 3 Opus). Changes take effect for new requests within ~60 seconds — no redeploy.
Loading routing…
Share this link with friends & family to collect suggestions: /feedback
Choose which tool cards appear on the public home page for this browser.