Analytics & reporting
One promise holds everything together: one calendar of truth. The Dashboard, Analytics, and the Flash Report read the same warehouse and count the same dollars for the same days – to the cent. Pick a date range on any of them and the same question gets the same answer on every page.
Dashboard – the daily read
The Dashboard opens with The Brief – a short, written summary of where things stand, with one recommended move as a button. Under it:
- A date range picker (7d / 30d / 90d presets, or any calendar range).
- Four headline numbers: Revenue (with a 12-month sparkline and goal pace), Customers in lifecycle, Messages sent, and your ad performance or estimated incremental revenue.
- Customer lifecycle, Orchestration (your live journeys), and Predictive insights (churn, propensity, next best action).
- A channel performance table that follows the money end to end: impressions → clicks → conversions → spend → revenue → ROAS.
Analytics – Revenue, Web, Reports and Agent reports
Analytics has four tabs. The two below are the day-to-day pair; Reports builds a report you define, and Agent reports is the brand's record of every document your tools, chat requests and autonomous goals produced: a readout of how many and how recent, search, filters by kind, origin and period, and a table where each row says what made it and who filed it. Rows open in the report viewer; the list pages at 20, 50 or 100. From the viewer a report downloads as a PDF, a Word document or a PowerPoint deck, in your brand's colours: a cover with contents, numbered sections, real tables with figures aligned and totals ruled, bold figures kept bold, notes kept with what they describe. The deck keeps one text size throughout and puts short sections together on a slide; the Word file uses real headings and lists, so it edits cleanly.
Revenue is the money view: total revenue with the change against the equal prior period, then orders, average order, customers, new customers, and repeat rate. Three readouts do the thinking for you – Concentration (how much of revenue one channel carries), Momentum (latest full month vs the prior one), and Media economics (spend, blended ROAS, CAC). Below: revenue over the last 12 months, where revenue comes from by channel, ad spend efficiency by platform (once spend is flowing), top campaigns by revenue, and the All purchases ledger – every order, searchable, with its channel and campaign attached.
Web is your website analytics, powered by the Website SDK – no Google Analytics tag needed. Ten reports: Overview (visitors, pageviews, sessions, bounce, top pages, sources, devices, countries), Live (who is on the site and what they did – see below), Acquisition (session quality by entry channel and referring source), Pages (landing pages with bounce, conversions, scroll and page speed), Engagement (scroll depth, CTA clicks, rage clicks, exit intents, form behavior), Goals (tracked conversions and an ordered funnel you define), Audience (new versus returning, and a weekday-by-hour activity map), Campaigns (UTM-attributed visitors plus visits from links this platform published), Vitals (Core Web Vitals per page, with p75 values) and Tracking (is every site still reporting). A device switch – All / Desktop / Mobile / Tablet – re-cuts every report, clicking a source, country, browser or page adds a filter, and all of it is first-party data from your own site.
The numbers are prepared ahead of time and refreshed every ten minutes, so every report opens at once; the line under a report says when it was last updated, and the refresh button asks for a new run. The 7, 30 and 90 day presets carry exact unique visitors. A custom date range adds up each day's unique visitors and says so on the page, then fills in the exact headline figure a moment later. Filters and custom funnels are computed on request and can take a few seconds; the page tells you while it works.
Live names people instead of counting them. Latest activity lists
the newest 100 events of the last 24 hours – pageviews, clicks (with the
button's text), form submissions, conversions, logins – with the person,
the page and the time, and checks for new ones every 30 seconds while
the tab is open. Key events hides the background measurements (page
speed, buttons coming into view, form field timing); All events shows
everything. Visitors lists everyone active in the chosen dates, most
recent first, with pageviews, sessions, first source, country and
device; Identified keeps only people your site named. A person is
named by what your site passes to identify – an email or your own
customer ID – and the visits they made before logging in belong to
them too. Open anyone for their timeline: the last 90 days on your site,
grouped into visits, with Open in Customers for people who are named.
Live is read on request rather than prepared ahead, so it is current to
the minute; segment filters and the CSV export do not apply to it.
Reports – your own questions, and a delivery report
The Reports tab builds three kinds of answer, each saved with a rolling window ("last 30 days" stays the last 30 days), scheduled weekly if you want it, exported to CSV, or handed to your AI team for the narrative.
- Report – pick metrics (revenue, orders, customers, new customers…), group by a channel, campaign or any property your own events carry, filter, run. New customers counts people whose first-ever purchase falls in the period, so a renewing subscriber is not new every month.
- Funnel – did the same person do these things, in this order, inside a window. Funnel steps come from events in your warehouse. Your messages are in there too: under Messages the picker offers "We send them a message", "The message is delivered", "They open the e-mail" and "They click in the e-mail", so you can ask whether the people who opened last week's e-mail went on to buy. A brand that has not connected data or installed the SDK yet and has never sent anything will find the step picker empty; the tab says so and points you at the doors that do have data.
- Delivery – what happened to the messages you sent: sent, delivered, failed, opened and clicked, grouped by channel, by journey or by day, for e-mail, SMS, push and WhatsApp. It reads your send logs rather than the warehouse, so it answers on every plan, with no data connection at all.
What the delivery numbers mean
- Sent – we attempted the message. Delivered, failed and "no receipt yet" always add back up to it.
- Delivered – the provider confirmed it arrived.
- Failed – we could not hand it over, or it bounced or was rejected.
- Opened / Clicked – how many of those messages were opened and clicked, counted once per message however many times a person opened it. Open and click rates are shown against e-mails sent.
- Link clicks – every click on a link in your e-mails, not just the first one per message. Three links clicked in one e-mail is three here and one under Clicked.
A dash means the channel cannot report that number, and it never means zero: no carrier reports an SMS open, and push and WhatsApp carry no delivery receipts at all. Delivery receipts for e-mail and SMS arrive from your provider's webhook – until it is connected, messages sit honestly in "no receipt yet" rather than being called delivered.
Opens and clicks are counted by us, not by your e-mail provider – there is no setting to switch on and no DNS record to add. An open is a tiny invisible image in the message; a click goes through our own redirect. Both work on any provider, including plain SMTP.
Two things to know about opens, true of every e-mail tool: a reader whose client blocks images has read your mail without counting as an open, and Gmail's image proxy or Apple Mail Privacy Protection can fetch that image without anyone reading. Treat opens as a direction, not a headcount. Clicks are the harder number.
You can ask the chat the same question in words – "how many e-mails were delivered and opened per journey last week" – and it reads exactly these numbers.
Messages also show up on the Flash Report under What we sent – the same sent / delivered / failed / opened / clicked by channel for the report's period.
None of this counts against your warehouse's included event volume: the messages you send are already paid for by the message.
Flash Report – actuals against plan
The Flash Report reads a month – or any period you choose – the way finance does: actuals against your budget, forecast and target, and against the previous period. Two views:
- Executive – a one-sentence headline, the KPI table (actual, each plan with its variance, the previous period), the finance-style cockpit (revenue, spend, ROAS, purchases), the customer growth engine (new / returning / reactivated / lapsed) and What we sent.
- Channels – the traffic-light matrix by channel and by content type. The columns cover the same number of days, and each compares with the one before it per day.
Traffic lights read better or worse, not up or down: dark green more than 10% better, sage up to 10% better, amber up to 10% worse, red more than 10% worse. For spend and costs, lower is better.
A month still running is read to date – through yesterday, and compared with the same days of the previous month (September 1–25 against August 1–25). Plans for totals such as revenue, spend and purchases are pro-rated to the days that have passed; rates such as ROAS compare as they are; customer counts, lapsed customers and net movement wait until the month ends.
Plans – budget, forecast and target
Open Plans at the top of the report. A plan is yours: your lines, in your words and your sections, over your months.
- Budget – the plan agreed for its months. While it is a draft you can change it; Approve budget freezes exactly the months you choose – a launch budget from November to October is one approval, not two calendar years – and from then on nobody can change them and every report for those months compares against them. The next budget can start the month after.
- Forecast – your latest expectation. Update it whenever the outlook changes; a closed report keeps the forecast it was closed with.
- Target – the goal you are chasing. The Dashboard tracks your revenue pace against this month's revenue target.
The grid shows any twelve months in a row: the arrows move a year, and From … starts the twelve months in any month. A brand that has not set up lines yet starts from the lines its industry usually budgets – a casino sees registrations, first-time depositors, deposits, withdrawals, active players, GGR, NGR, bonuses, gaming tax and fees; a lottery sees ticket sales and first-time players; a SaaS business sees MRR, new logos and churn. Type into any of them and it becomes one of your lines. Add a line adds another from your industry, one the report measures, or one of your own. Click a line's name to rename it, change its unit, move it to another section, or say what it is compared with; click a section's heading to rename the section.
Each line is compared with one of two things:
- measured – one of the report's own figures, when your line is the same thing (your "UAP" with active players, your "New active" with first-time depositors). The report names its figures in your industry's words: a casino's revenue events are its deposits, so it reads Deposits, Successful deposits and Average deposit amount, never orders.
- reported – the figure your own systems report for the line (GGR, NGR, bonuses, licence fees). We never work these out from other data; they come from your accounting, through Connecting your data → Sending actuals. Until one arrives, the report says the line is not reported yet.
Type into the grid, paste a block straight from a spreadsheet, or type a figure into 12 months to fill the months – a total is spread evenly, a rate is copied to every month. You can also click a plan cell in the KPI table to set that month's value.
Upload a file reads the budget file you already have – .xlsx or .csv, in whatever layout you keep it – and keeps every line you budget, in your own words. A sheet that stacks several tables (players, then costs, then results) is read table by table; hidden working sheets are left alone. The review shows each line: whether it is part of the plan, which of your industry's usual lines it is (Is – a casino's "Acq celkem" is Registrations, "New active (85% KYC)" is First-time depositors, "Bonusy" is Bonuses), its unit, what it is compared with, and its months. A line keeps your words; the usual line it is decides what it is compared with and the key your systems send its figures under. Running totals, daily averages and repeated columns are left out, and the review says why – tick any of them back in. When the file numbers its months (1 to 12) instead of naming them, say which month is month 1 and the plan goes into the calendar from there, across the year end if it runs over. Amounts stay in the currency they are written in; nothing is converted.
Your own systems can send plans too, through the same address and key as your data (see Connecting your data → Sending plans); the editor shows those values in grey, and a value typed here takes their place.
In the report, Your plan, line by line lists every line of your plan in its sections: the actual, each plan with its variance, and the previous period. The report shows as soon as a budget, forecast or target exists – before any actual arrives, and for a month that has not started yet – and each line says what it is waiting for.
Plans are set per month and read by day. A month's total is spread evenly over its days, so a month to date, a week or any custom period – even one across two months – is compared with exactly its own days of the plan. A rate is weighted by the days; a count of unique people (active players, a customer base) has a plan only for a whole month. A reported line is compared with its plan up to the last day reported, and with the same days of the previous period.
Closing a period
Close period asks which finished period to close – a calendar month or an exact custom range – and shows what will be frozen before anything happens. Closing freezes the numbers, the plans and a written management commentary into a version nobody can edit, ready to export as CFO PDF or CFO PowerPoint under Closed reports. A period still running cannot be closed. Closing the same period again creates a new version if anything changed, and returns the existing one if nothing did.
Both exports carry the same figures. They open with the headline numbers and the management commentary, then the scorecard – your budget lines first, in your words and sections, then the report's own figures – against your plans and the previous period, the trend, media economics, channels and customers, and close with plain definitions and the record of the closed version. Figures follow your currency's number style, rate changes are shown in percentage points, and a change under 1% reads as flat. The PowerPoint's charts and tables are editable, and each slide has speaker notes.
The exports take their colours from Brand settings. Your brand colour marks the cover and the headline figures. Charts use it too when it reads clearly on white and can't be mistaken for the green, amber and red that mean better and worse. Otherwise they use your darker brand colour and greys. The figures are always the ones frozen at close; only the colours follow your current brand settings.
MMM – where the next dollar works hardest
Marketing mix modeling is the finance-grade layer: modeled incremental contribution per channel, saturation analysis, average versus marginal ROAS (what the average hides), and a budget laboratory – enter an annual media budget and see the modeled revenue and the reallocation that earns it. Models run only when your data passes five readiness gates, every run is frozen and independently reviewed, and the whole capability is part of the enterprise plan – if that's you, talk to us.
Pulse – the daily read
Pulse answers "how is everything doing, and what needs me today?" – a channel scorecard with working/watch patterns, an executive summary, alerts, and two honest tables: Campaigns – ratings vs money (what your team thinks next to what the warehouse says the campaign earned) and Channels compared (ratings, synced platform metrics, and tracked-link clicks side by side).
What's Working – what worked, what didn't, and why
Every campaign is judged on its own numbers. Each night, every campaign you ran – journeys (including every email and SMS broadcast), paid campaigns on Google, Meta and TikTok, social posts, promos, landing pages and your AI assistants' goals – is compared with your brand's own usual results for that kind of campaign, and gets a verdict: worked, flat, underperformed or lost money, with the reason in numbers ("ROAS 1.05 against your paid campaigns' usual 2.09 – $124,843 on $118,475 spent"). Nobody has to rate anything for this to happen.
What didn't work. The bottom of What's Working lists the campaigns that fell short, why, and – once a campaign has ended – a short post-mortem drafted from its numbers: what worked, what didn't, what to try next time. Beside them, What your results teach sums up the patterns across campaigns ("Free-shipping offers in paid campaigns: 3 campaigns, 1 underperformed, 2 lost money"). Anyone new on the team can read this before planning. If a verdict is wrong – the numbers missed something only you know – Correct this verdict changes it everywhere, with your note.
You ran something like this before. When someone is about to repeat something that didn't work, the platform says so, with the numbers, and lets them decide – it never blocks anything:
- before a journey's first Start, an email or SMS Send, a PPC campaign build, a landing page's first Publish and a new promo;
- in Chat, when you ask for something like a past campaign (ask Chat "how did our free-shipping emails do?" to look any campaign up);
- when your AI assistants plan – they are told not to repeat a campaign that did not work unless they say what is different this time.
Rate what ships, too. Rating a piece great, okay or poor still teaches the platform your taste: ten ratings unlock detected patterns ("carousel posts on LinkedIn outperform for you" – and what has not worked for you), which feed the Pulse scoreboard and what the AI generates next.
What it needs to judge fairly: enough volume (for example 50 delivered sends for a journey, 50 in spend for a paid campaign) and at least three comparable campaigns of your own – until then a campaign reads not enough data yet. A paid campaign is only called lost money when your purchases carry campaign names (UTMs), so the revenue is measured, not assumed. A journey with a holdout group is judged on the revenue it caused; without one, on its click and conversion rates.
Your currency
Revenue and customer-value figures display in your brand's currency. Set it on the brand's profile, under Business currency – if your store charges in euros or koruna, your numbers were always euros or koruna; the setting just labels them correctly (no conversion happens). Each brand has its own setting. Two things to know:
- Closed Flash Reports keep the currency they were closed with – frozen evidence never re-labels itself when a setting changes.
- Your subscription and credits are always in USD; the currency setting is about your business data, not the platform's pricing.
How attribution works
Plain rules, no magic:
- Every purchase carries a source (from your UTM tags or import) and a campaign name – that's what ties revenue to a channel and a campaign.
- Ad spend carries its platform and campaign name – lining spend up against revenue is what produces ROAS and CAC.
- Links published through the platform carry a tracked-link tag; the Website SDK recognizes it on arrival and attributes the visit – and everything that follows – back to the post that earned it.
Meta Ads Strategist
Connect Meta Ads (Connections → Meta Ads, a Business Login on your business portfolio) and the Meta Ads Strategist audits the ad account the way an agency would: it reads the live account – campaigns, ad sets, ads, placements, age and gender, devices, the daily spend – runs a deterministic engine over it and writes a scored audit: an executive summary, a grade per axis (structure, targeting, creative, measurement, pacing), prioritised recommendations with conservative, balanced and aggressive variants, and the estimated impact. Open it at Studios → Meta Ads Strategist, or ask in chat ("audit my Facebook ads"). An axis the audit could not read is marked unscored, never assumed clean.
Every recommendation the tool can apply itself – pausing a campaign, an ad set or an ad, moving a budget – has an Apply button that opens chat. Chat validates the move first and asks you to confirm; only then does it act, and every action is recorded with what was there before. Budgets move at most three times up or to a tenth in one step; anything bigger is yours to do in Ads Manager. Creative refreshes, audience changes, tracking fixes and landing pages stay human steps – the audit tells you why.
"How are my Facebook ads doing?" in chat reads the account live without an audit. The AI team's paid-media specialist uses the same tools.
TikTok Ads has the same strategist. Connect TikTok Ads in Integrations and open Studios → TikTok Ads Strategist, or ask in chat ("audit my TikTok ads"): the same scored axes and recommendations, in TikTok's terms – ad groups instead of ad sets, video creative that tires in weeks rather than months, Spark Ads from your published videos. Applying a recommendation works the same way, with the same confirmation and the same budget bounds.
Where viewers drop off a YouTube video
Open a published YouTube video on What's Working and, once YouTube has finalised its numbers (two to three days after publishing), the post shows where viewers leave: how many are still watching at 0:30, where half the audience is gone, the steepest drop with its time, and whether the video holds better or worse than videos of its length. The curve is drawn beside the numbers. It is read once a day from YouTube's own retention data, and the video specialist reads the same summary when it plans the next cut.
Your Instagram, YouTube and TikTok accounts, as accounts
With Instagram connected, What's Working and Marketing Pulse show the account itself: followers and the week's change, people reached in the last seven days against the week before, profile visits, engaged accounts, the best time to post and who the audience mostly is. A YouTube channel shows subscribers gained and lost, views and watch time against the week before, and the average view length; YouTube reports with a two to three day delay, so the newest days fill in later. A TikTok account shows followers with the week's change, likes and videos; TikTok's own API stops there, so profile views and watch time stay in TikTok Studio. The numbers arrive overnight, and the first time you look they are pulled on the spot. The Social Media Manager reads the same numbers when it distils its weekly rules.