Analytics dashboard
Analytics uses your dashboard language for the page heading and insight text. The guest menu’s language order does not change your dashboard preference.
What is counted
Section titled “What is counted”The public menu page tracks a bounded list of events as visitors use it: QR scans, menu and section views, item views and adds/removes, the sold-out board shown to staff, filters used, searches, language switches, Wi-Fi copies, phone clicks, table reservation and delivery clicks, sold-out items still viewed, pickup orders sent, feedback submitted, Google review clicks, social follow clicks, install prompts shown and accepted, and assistant fetches of the menu. Nothing outside that list is ever recorded — an unknown event is rejected outright.
What is never collected
Section titled “What is never collected”There are no cookies. A visitor is identified only by a session hash that mixes the venue, the visitor’s address, their user agent and the calendar day in Riyadh, then rotates at local midnight — so the same visitor looks like someone new the next day. A browser sending Do Not Track is skipped entirely, and you can switch analytics off for the venue at Links, delivery and follow us, which stops collection on the public page immediately.
KPIs and the previous period
Section titled “KPIs and the previous period”/app/analytics shows scans, visitors, visits, repeat visits (visits minus visitors, floored at zero — the honest stand-in for a return rate a rotating hash can’t measure), item views and adds with a view→add rate, pickup orders, PWA installs and assistant fetches. Every KPI is shown next to the same range immediately before it, so a jump is visible at a glance.
Ranges and contexts
Section titled “Ranges and contexts”Pick 7 days, 30 days or 12 months, and dine-in, pickup, delivery or all contexts. The range your plan allows caps what you can select: Free gets 7 days only, and Pro and Business unlock the full 12 months — asking for more than your plan allows silently clamps to the widest range you have.
Insights
Section titled “Insights”Up to three rule-based sentences, computed weekly, no model involved: Feature it flags an item with at least 20 views and no badge whose view→add rate is at least double your average. Allergen gap fires when 10 or more visitors filtered out the same allergen and two or fewer of your items are free of it. Lost demand points at the item with the most views while marked sold out (at least 20). Each rule surfaces at most one insight.
CSV export
Section titled “CSV export”export.csv on the analytics page downloads the same rollup rows the dashboard reads from — day, context, key, dimension and count — never raw events, so no session hash ever leaves the database this way.
Retention
Section titled “Retention”Raw events are kept for 400 days and purged nightly after that; the daily rollups the dashboard and CSV read from are not affected by the purge.
With your agent
Section titled “With your agent”How did the menu do this week?
calls get_analytics with range (7d | 30d | 12m, default 30d) and ctx (all | dine_in | pickup | delivery, default all) and returns the same report as the dashboard plus this week’s insights. It’s read-only — the tool never writes anything.