Klaviyo Reporting Enhancements
Klaviyo campaign and flow reporting has been extended beyond engagement metrics to revenue and customer mix, so owned marketing is measured on the same terms as your paid and organic channels rather than on opens and clicks alone.- Attributed orders and revenue now sit against each campaign and flow, split new vs repeat customer and one-off vs subscription, so you can see which sends actually convert rather than just which get opened
- Lifetime open and click rates are now reported as unique rates per campaign and flow, with machine opens and bot clicks separated out so engagement reflects real people
- List growth surfaces daily subscribes, unsubscribes and net change per list, so you can see whether your audience is genuinely growing
- Profile segmentation maps customer profiles to their Klaviyo lists and segments, connecting email audiences to purchase behaviour
Klaviyo as an Attribution Source
The multi-touch attribution waterfall now treats Klaviyo email and flow conversions as a first-class source, recovering owned-marketing signal that click-based tracking often loses.- Klaviyo campaign and flow conversions are added as a recovery layer in the waterfall, alongside GA4, discount codes, the Shopify customer journey, post-purchase surveys and order note attributes
- Orders driven by email and automated flows are now credited to the campaign or flow that drove them, rather than defaulting to Unknown, Brand Search or a last-click platform figure
- Consistent across reporting, so email and automated flows are attributed the same way in both first-click and last-click views
Cost of Goods Accuracy & Flexibility
Your contribution margin reporting (CM1, CM2 and CM3) already runs across orders and channels. This update improves how cost of goods is assigned to each order and hands you control of those costs in your configuration sheet, so margin figures are both more accurate and easier to keep current.- More accurate per-order costs: cost of goods is now resolved at line-item level and matched to the cost in effect on the order date, so historical margins stay correct as your costs change over time rather than a single current cost being applied across all history
- Self-serve in the configuration sheet: per-unit costs are maintained in a Google Sheet you control and are effective-dated, so you can update a cost from the date it changes without rewriting history or waiting on a code change
- Coverage visibility: each order carries a completeness flag showing whether its full cost is known, so any partial cost data is transparent rather than quietly understating margin
AI Analyst - Weekly Report Redesign
The weekly performance report has been rebuilt around the growth equation, so each Monday summary reads as a story about what moved the business, not just a wall of numbers.- Acquisition is now a full channel table with CAC and spend columns alongside new orders, new revenue and conversion rate, so you can see acquisition efficiency by channel at a glance
- Retention is rebuilt on last-click attribution and led by a 90 day repurchase rate, the share of new customers who come back for a second order, giving a cleaner read on whether recent cohorts are sticking
- Product mix is promoted to its own section with revenue per unit and basket size, surfacing pricing and basket-composition shifts week on week
- Budget Split Recommendation suggests the recommended optimal split of spend across your scalable channels, drawn from the Budget Optimiser, so the report points at the next allocation decision
- Monthly pacing tracks run-rate against budget by market and in total, so you always know whether the month is on track
AI Analyst - Daily Report Redesign & Report Memory
The daily morning report has been reworked to lead with the single driver behind yesterday’s performance, then back it with a tighter, more consistent set of numbers.- Revenue & Orders now carries Repeat Order Rate, CAC and Spend rows, framing the day against the growth equation of new customers, frequency and order value, with consistent rounding across currency and ratio metrics
- Directional indicators apply a flat band, so changes within normal noise read as steady rather than being dressed up as a move
- Retention is split onto last-click attribution, the right lens for understanding what pulled existing customers back, with email called out specifically
- Channel Highlights gives a single scannable overview of acquisition and retention without drowning in per-channel tables
Budget Optimiser Calibration & Meta Fatigue in Daily Health
The Budget Optimiser has been recalibrated to produce more reliable forecasts, and Meta ad fatigue now updates daily.- Seasonality accuracy improved by deriving monthly AOV from revenue-weighted true monthly figures and dampening month-to-month swings on short, holiday-skewed histories, removing a systematic overstatement of forecast CAC
- Meta response curve tuned so spend changes are reflected with a realistic diminishing return, rather than an over-flat curve that understated the cost of scaling
- Meta ad fatigue metrics now flow into the daily business health mart alongside Meta and paid search, so fatigue status and the healthy ad gap refresh every day rather than on a slower cadence
- Fatigue CAC classification stabilised for more consistent ad-level fatigue flagging
Post-Purchase Survey Re-Attribution
Orders that standard tracking leaves as Unknown, or that default to Brand Search, can now be probabilistically re-attributed to the channels that genuinely drove them, using your post-purchase survey responses.- Rolling-window redistribution uses 7, 14 and 30-day survey response patterns to redistribute hard-to-attribute orders across known channels, smoothing out low-volume noise
- Post-purchase survey ingestion now runs as a dedicated daily pipeline, syncing survey responses straight into your warehouse, with a one-off bulk backfill to capture full history
- Configurable per brand, so re-attribution is only applied where sufficient survey data exists, and reporting falls back cleanly where it does not
Monthly Reporting & Revenue Accuracy
Building on the new monthly performance model, monthly reporting now goes deeper and resolves several revenue accuracy issues.- Product-level granularity added to monthly reporting, broken down by line item and SKU, alongside a new order categories breakdown
- Organic and paid splits corrected across the monthly reporting marts for accurate channel mix
- Revenue definitions refined so reporting uses total sales excluding tax rather than gross sales, giving cleaner margin and AOV figures
- Refunds now flow fully through channel reporting, with refund grouping added to the channel reporting spine so refunded revenue is no longer understated by channel
Retention & Reporting Fixes
Cohort retention reporting has been corrected to ensure data from the current, incomplete month no longer appears in retention views. Previously, early-month data could surface prematurely and skew retention percentages, making performance look lower than it was. Cohort data now only shows for complete months.A new monthly performance reporting model has been added, covering revenue, orders, AOV, and customer mix across a full calendar month, giving a cleaner view for monthly reviews and board reporting.AI Analyst — Slack Assistant, Follow-Up Questions & Meta Ad Attribution Fix
The AI Analyst is now a native Slack Assistant. When you open a direct message with the bot, it surfaces suggested questions to get you started. You no longer need to know the right question to ask, it prompts you with the most useful ones based on your data.Follow-up question buttons now appear after every report and answer. After your morning report lands, you can tap a suggested question, such as which channel drove the most new customers yesterday, and get an instant answer without typing anything.Meta ad attribution is now accurate at the click-time name level. Meta Ads changes ad and campaign names over time, which previously caused a mismatch between the name shown in Meta and the name recorded in your GA4 or Shopify data. We now capture name-change events from Meta in real time and use the original name at click time across all attribution reporting. This means your ad-level CAC and attribution data is now correct, even when ad names have been edited.Additional improvements in this release:- Looker Studio links included in analyst responses, so you can jump straight from an answer to the relevant dashboard
- Token usage shown on every answer, giving visibility into query complexity
- Markdown tables in answers now render correctly when ad, ad set, or campaign names contain special characters
AI Analyst - Scheduled Report Configuration
Daily and weekly performance reports can now be configured per Slack channel, rather than applying a single schedule across your whole workspace. This makes it straightforward to receive reports in different channels for different teams.Percentage figures across all daily reports are now consistently formatted to one decimal place.Reporting Improvements - Country Breakdowns, Forecasting & Data Accuracy
Country-level breakdowns are now available across target reporting and all budget metrics, including budget vs actuals, spend tracking, and channel reporting. Brands selling internationally with market specific budgets can now segment targets by country across sales orders, and spend using their dashboard config google sheet.Additional improvements released alongside this update:- Health metric forecasting improved: forecast totals are now derived from new and repeat customer components separately, rather than forecasted as a single blended figure. Percentile calculations and metric values are also rounded more consistently across all reports.
- Timezone standardisation across all models ensures metrics align with each client’s local business day, replacing previous UTC defaults.
- Refund reporting updated to attribute refunds by refund date rather than order date, and shipping charges are now excluded from gross revenue for cleaner margin calculations.
Google Ads Reporting Improvements
Google Ads spend and performance data now flows into the unified ad spend model and channel reporting on a keyword level. Improving cross-channel visibility alongside Meta and organic channels. This brings Google Ads in line with the existing Meta Ads integration, giving a complete paid media view across your dashboards.Meta Ads & Attribution Improvements
Ad winner detection is now configurable per client, based on spend level within the first x days and the CAC improvement relative to campaign type average. This makes it easier to surface genuinely high-performing creatives without overfitting to low-spend ads.Channel-to-platform mapping is now sheet-driven across all clients, making it straightforward to update attribution logic, add new channel groupings, or adjust mappings without any code changes.A new Meta Ad Fatigue report guide is now available in the help centre, covering how to read the fatigue curves and act on the signals.AI Analyst — Early Access
Launched the Crux AI Analyst, a Slack-native assistant that answers natural language questions about your store data and delivers automated daily and weekly performance reports directly in your Slack workspace.Ask questions in plain English. The analyst translates your questions into BigQuery SQL, runs them against your data warehouse, and returns a clear, formatted answer. No dashboards to navigate, no exports to pull, no waiting for a report.Example questions it can answer:- “What were our top 5 products by revenue last month?”
- “How did new customer acquisition change week on week?”
- “Which channel had the highest AOV in March?”
- “What’s our discount rate trend over the last 8 weeks?”
- Total and new vs. repeat revenue
- Order volume and AOV (overall, new, and repeat)
- New user and session volume
- Discount rate, with week-on-week comparisons throughout
- Revenue, orders, AOV and new customer mix for the full week vs. prior week
- Product category revenue breakdown
- Discount rate trends
Multi-Touch Attribution Framework
Launched a full GA4 raw events attribution pipeline that combines five data sources into a single waterfall, recovering orders that standard UTM tracking misses entirely. Read the full attribution overview and how it works.How it works:- GA4 raw events are synced directly into BigQuery, bypassing GA4’s interface sampling. First-click attribution is identified across the full purchase cycle, with no time-bound cutoff for long purchase windows.
- Discount codes mapped to channels, campaigns and ad groups via a Google Sheet you control, correctly attributing influencer, referral, affiliate and offline-driven orders.
- Shopify customer journey provides a fallback using Shopify’s independent last non-direct touchpoint tracking.
- Post-purchase surveys (Fairing, Kno, Triple Whale) capture offline touchpoints such as word of mouth, podcast mentions and TV ads.
- Order note attributes from affiliate and influencer platforms (Awin, Social Snowball, Saral, Superfiliate) serve as the final recovery layer.
Meta Ad Fatigue Monitoring
Added a new health metric for detecting creative fatigue across Meta ad accounts, using survival curve analysis combined with Little’s Law replacement rate modelling.- Ad fatigue status consolidated per ad, flagging ads approaching or past their performance shelf-life
- Healthy ad gap metric added to the Business Health dashboard, showing how many new ads are needed to maintain current performance levels
- Daily new ads and ad winners tracked to surface whether your creative pipeline is keeping pace with fatigue rates
- Low-efficiency threshold applied to separate ads that have faded from those that never performed
Repurchase Rate
Added repurchase rate to the retention metrics suite, tracking the share of customers who return for a second purchase within a defined window. Available across the LTV & Retention dashboard and customer profile models.Budget Optimiser
New strategic planning tool that uses historical performance data to model how each marketing channel responds to spend changes, helping you evaluate allocation trade-offs before committing budget.Key capabilities:- Elasticity modelling calculates each channel’s scaling responsiveness using logarithmic regression on your full historical data
- Performance scoring weights elasticity, recent aMER, CM2 margin, and spend history to rank channels for growth budget allocation
- Demand capture vs demand generation split treats Brand Search and Affiliate as fixed costs, directing growth budget only toward scalable channels
- Confidence-based guardrails apply ±20% swing limits for high/medium confidence channels, and ±10% for low confidence, preventing radical reallocation from statistical noise
- Saturation detection applies dynamic elasticity decay when projected spend exceeds historical maximums
- Seasonal adjustments apply monthly indices so forecasts reflect your historical revenue patterns across the year
- Multiple budget scenarios generated at £25K intervals, allowing side-by-side comparison of allocation across spend levels
Customer Profile & Sales Reporting Enhancements
- Last order attributes added to customer profiles, including channel, product, and discount code from each customer’s most recent purchase
- Total, new and repeat sales definitions standardised across all reporting models, allowing consistent segmentation of revenue by customer type
- Active customer definition aligned across the platform for consistent cohort and retention reporting
Dashboard UI refresh
Updated dashboard suite UI for easier interpretation of graphs, charts & tables.Ecommerce Conversion Funnel
Added a conversion funnel report allowing a breakdown of conversion through the website (and custom subscription funnel if applicable) by country & marketing channels.- Subscription Flow Start %
- Subscription Flow step conversion
- Checkout flow step conversion (shipping, payment and complete checkout)
Health Metrics Update
Added new health metrics:- Cost per user
- Retention rate
- Total users
- New users
- CAC Acceleration Rate (CAR)