Creative Performance OS
Mind Oasis by Rituals
TV view
Channel
Market
Theme
Morning brief
Tuesday 25 August · written 05:06

auto-generated from live data — the AI morning brief arrives in the next phase·Re-run analysis·Add to weekly report

Do today · estimated impact

Scorecard
Are we doing well?
Every headline number against the target you set. Annual targets are measured against where the year should be; rate targets against the current period.
Full funnel
Impression to subscription
Pacing
2026 target
Black marker is where we should be today
⚠
Subscriptions and impressions still run on a manual EVA export. Until that feed exists this figure is an estimate based on last month's trial-to-paid rate.

Channels side by side

Distribution
Installs by source
Click a source to filter the whole page. Sorted high to low.
Metric
Efficiency
Cost of a paying member per channel
Sortable — click any header

Trend

Drag across the chart to filter to that period
Daily

Markets

Downloads per country, all selected channels
Downloads per country
Ranked
Per country
Cost and efficiency

Meta

Structure
Campaigns → ad sets → ads
Chevron opens a level · click the row itself to filter the whole page
ℹ
Meta reports about 14% more installs than AppsFlyer attributes to Facebook Ads. That gap is normal view-through attribution. Decide on AppsFlyer.
Saturation
Frequency per campaign, per week
Alarm at 3×. Above that line CPI in this account historically rises 34%.
Best performing audience
Installs and cost per install
Sorted by installs. Retargeting is small but by far the cheapest.
Downloads per country
Meta only
Installs from AppsFlyer, cost from Meta
Placement
Where the impressions land
Demographics
Age × gender
Impressions per segment. Women 35–54 carry the account.

Google Ads

⚠
Data warning. The Conversions column from the Google transfer adds up several conversion types and sits about 10× above the real installs in AppsFlyer. Everywhere on this tab we show AppsFlyer installs as the truth and grey out Google Conversions beside it. Fixable by syncing ads_ConversionAction.
Ad groups
This is where the State of Mind split lives
Click to filter the page to that ad group
Keyword graph
Sized by clicks, coloured by quality score
Red is quality score under 4 — those terms cost visibility as well as money
Size by
Keywords
Keyword, ad group, installs, cost
Sortable, sorted by installs
Downloads per country
Google Ads only
Dayparting
Conversions per hour × weekday
Darker is more conversions per euro
less
more
Visibility
Search impression share
We take 21% of the impressions available to us. Lost to budget versus lost to rank.
⚠
62% lost to budget on brand terms. Brand has quality score 9.3 and a CPI of €3.11 — the cheapest unused room in the whole account.

Apple Search Ads

⚠
Cost is modelled, not measured. Apple Search Ads cost does not flow into AppsFlyer yet — the Apple API credentials have to be linked in AF (about ten minutes, app admin). Every cost figure on this tab is marked modelled and derived from the ASA console export of 12 August. Installs, trials and keywords are measured and reliable.
Keywords
Keyword, ad group, installs, cost
Discovery placements appear as “(no keyword)”
Downloads per country
Total installs per market
iOS only — Apple Search Ads has no Android side
Daily
Downloads and cost per download
Cost per download modelled
Quality
Apple Search Ads brings the best members
Same members, measured after install

What to scale, what to kill, and why

Rank by

Act

The four decisions, ranked. Only creatives with enough volume to judge.
Theme
State of Mind
Ranked by the metric above
◆
Sleep wins twice. Cheapest CPI in advertising and the highest rating inside the app (👍 81%). Recharge is the mirror image: expensive to acquire and poorly rated.
Format
Video by length, static, carousel
Video split into length buckets — the call a creative team actually makes
Lifecycle
Where the spend sits in the curve
Frequency × CPI drift decide the stage
Market
CPI and installs per country
Funnel stage
TOFU · MOFU · BOFU
Platform
iOS against Android

Every creative

Click a row to compare it in the retention chart · ↗ opens the full breakdown

Video: where they drop off

Watch-through, against the account's normal shape
Retention curve
Median, normal range, and your selection
Share of viewers who reached 25%, tracked to the end. Select up to five creatives in the table to compare against the account.
Hook rate against CPI
Each dot is a creative
Dots sized by spend; creatives below the volume threshold are dimmed. Click a dot to compare it in the retention chart.
◆
Hook or hold
Two ways a video fails
Hold rate is ThruPlays divided by everyone who got past 25%. A weak opening and weak content look identical in CPI but need opposite fixes.
◆
Retention
Share still active, by week after install
Week 0 is 100% by definition and left off the curve · grey band is the usual range for wellness apps · cohorts are calendar weeks (Sun–Sat) via the Data API, device data only — a floor (matches GA4's retention screen)
app
⚠
Cohorts
Each install week followed forward
Read across a row to follow one cohort, down a column to see whether we are improving
app
LowerHigher retention
◆
Onboarding
From first open to the first session
Screen order taken from the app flow · figures are screen views, not unique users
app
⚠
Views, not people. One person who returns to a screen is counted twice, so these steps are an upper bound and the percentages are indicative — a step can even exceed 100% of the previous one. Counting screen_view per user_pseudo_id in BigQuery turns this into a real funnel; that is the one thing still worth asking Tech & Data for.
Install counting
GA4 against AppsFlyer
Two systems, two definitions — never added together
app
◆
A gap here is normal — first_open fires on every fresh install including reinstalls; AppsFlyer counts attributed installs in its own window. AppsFlyer stays the truth for volume and cost, GA4 for behaviour inside the app.
Platform & devices
Where the app is used
Active users by operating system and device · device data only
app
Habit
How often people come back
Daily, weekly and monthly active users against each other
app
Where the time goes
Most viewed screens
Screen views over the period · [App] prefix removed for reading
app
⚠
Registration event under-counts. Since the 6 July release af_complete_registration does not fire on all Android devices. Everything from the “Registered” step onward is a floor, not a truth. Dev fix is open. The trial count itself is correct.
In the app
Seven steps after the download
app
On the website
Visitor to purchase
Mind Oasis at Home · ecommerce checkout
⚠
The biggest gap on this page: roughly 1,000 visitors per fortnight on /myrituals and /app, but only 33 measured store clicks. The app badges almost certainly fire no click event, so web→app is flying blind.
Where the journey starts
App first versus web first
About 1:2.4 — for every direct app open, 2.4 people hit the site first
Bought same day
65%
of web-first visitors
Password resets · new
118
web buyers stranded at the app door
Retention
Do they come back, by source
D1 · W1 · D8–30 · cohorts from GA4. Sorted by D1.
◆
Google Ads brings the cheapest volume and the worst retention. Weighted by who actually comes back, Google costs more than it looks.
Onboarding
How long it takes
Median and P75 in seconds
Median
94s
−11s versus last week
P75
228s
the tail is the problem
Appreciation
Thumbs up per State of Mind
Playouts, likes and dislikes from inside the app
Trial to paying
What we know and what we don't
The last step comes from EVA and is exported by hand today.
This card goes live the moment Tech & Data deliver the BigQuery feed.

Organic & traffic

Traffic channels
Sessions by channel
Click a channel — every card on this tab follows it
web
Direct referral via UTM
Session source
Owned touchpoints tagged with App_July_2026
web
Sessions per country
Ranked
web
Visitors
Last 24 hours, by hour
The dashed line is the typical count for that hour, taken from the previous four weeks
web● live · fixed window
Last 24 hours
Last 7 days
Busiest hour
This card ignores the period filter at the top of the page. "Last 24 hours" has no meaning when the filter is set to all time, so the window is fixed and the badge says so.
New and returning
Website visitors
Follows the period filter and the selected traffic channel
webfollows the filter
Watch the counts, not only the share. Scaling paid traffic pushes the new share up on its own, which makes returning look like it is falling when it is not. Both series are drawn in absolute numbers for that reason.
Halo
Store downloads against paid installs
The gap between what the stores count and what AppsFlyer attributes to paid is our organic and untracked inflow
◆
The organic layer tracks Meta spend with about a day's delay, which suggests part of the paid impressions turn into an unattributed store search. When spend stops, roughly 18% of the “organic” volume goes with it.
Sessions per day
Selected traffic channels
web
Bridges
From site to store
Per page group and source class
web
⚠
The “store click” column is not reliable — see the tagging fault in Funnel. Treat these as a floor.
Pages
Most visited pages
web

Social

Instagram ·
◆
Public profile counters are on the nightly sync since 27 Aug — followers, following and post count, snapshotted daily at 05:00. Engagement, reach, saves and profile visits need the Instagram Graph API connection (open item with the app admin); the ads integration does not expose organic insights for this account yet.
Growth
Followers and engagement rate
Engagement rate is interactions divided by reach
Top posts
By likes and comments
Public data per post. Reach and saves — which predict app installs better than likes — arrive with the Graph API.
Profile visits
n/a
Arrives with the Instagram Graph API connection.
Link clicks to app
n/a
Arrives with the Graph API — and needs the link-in-bio tagged to mean anything.
Attributed installs
n/a
The link in bio is untagged, so social→app attribution is currently unmeasurable. Tagging it is a ten-minute fix and settles the question.

Six questions this data can answer end to end

Click a question — the analyst builds the analysis with your current filters

Saved analyses

Shared with the team

What we have, what we're missing, what it costs to get it

This page is the honest list — it decides how far you can trust every figure above
Tables live
30
Refreshed nightly at 05:00
Manual or blocked
8
Three of them affect revenue insight directly
Available, not yet synced
19
No new permissions needed — just a sync job
Status per source
Refresh and freshness
Open
What improves this page, by effort
Parity
Agency dashboard versus this one