Transparency

How Ripplux measures ad waste

Every number in your audit report has a source. This page explains the statistical methods and heuristics behind each finding — including their limitations.

Data collection & sync

Ripplux connects to three data sources: Shopify (orders, customers, UTM parameters), Meta Ads (campaigns, ad sets, creatives, daily performance), and Google Ads (campaigns, ad groups, daily performance metrics).

All data is fetched via official platform APIs using OAuth tokens that you authorize. Ripplux never stores raw creative assets — only performance metrics. Data is synced on demand and can be refreshed at any time from the dashboard.

Order data is enriched with UTM attribution. When an order containsutm_sourceor paid touchpoints, it is classified as ad-attributed. Orders without these signals are classified as organic.

Cannibalization detection

Ad cannibalization occurs when ad spend is used to convert customers who would have purchased organically anyway. Ripplux detects this through customer journey analysis.

The algorithm groups all orders by customer email address. For each customer with multiple orders, Ripplux classifies their first-ever order. If that first order was organic (no UTM parameters, no paid touchpoints), the customer is flagged as an organic customer. Subsequent orders from that customer that are attributed to paid ads are classified as cannibalized.

cannibalized_waste = cannibalized_orders × avg_ad_spend_per_order

This is a lower-bound estimate. It only counts customers who demonstrably converted organically before being re-targeted. It does not model prospective cannibalization (i.e., customers who would have found you organically on their first purchase). True cannibalization may be higher.

Creative fatigue analysis

Creative fatigue is the performance degradation that occurs when audiences are repeatedly exposed to the same ad creative. Ripplux measures fatigue using daily CTR trajectories.

For each active ad creative, Ripplux queries the last 30 days of daily performance data (impressions, clicks, spend). It identifies the peak CTR — the highest single-day click-through rate the creative achieved — and tracks the percentage decline from that peak.

A creative is flagged as fatigued when:

  • CTR has declined more than 30% from peak
  • The decline spans at least 3 consecutive days

Waste is calculated using the efficiency delta method:

efficiency_ratio = current_ctr / peak_ctr
daily_waste      = daily_spend × (1 - efficiency_ratio)
total_waste      = Σ daily_waste (for all days after fatigue onset)

This method estimates the spend that went toward diminishing returns rather than peak-level performance. It does not account for natural performance variation or market-level changes (e.g., seasonality).

Conversion leak measurement

Conversion leaks are drop-offs in the purchase funnel — visitors who showed buying intent but did not complete a purchase. Ripplux analyzes four funnel stages: landing page visit → cart addition → checkout initiation → completed purchase.

Drop-off rates are calculated at each stage transition. A stage with more than a 20% drop-off rate is flagged as a conversion leak candidate. The potential revenue impact is estimated as:

leaked_revenue = visitors × expected_conversion_rate × avg_order_value − actual_revenue

Conversion leak estimates carry the most uncertainty because they depend on accurate funnel tracking, which varies by Shopify theme and checkout configuration. Results should be treated as directional signals rather than precise measurements.

Incrementality testing

Incrementality testing is the gold standard for measuring true ad effectiveness. Rather than relying on attribution models (which are influenced by the platform reporting them), incrementality tests use randomized holdout groups to measure causality.

Ripplux designs holdout experiments using a two-proportion z-test power analysis. The parameters are calculated as follows:

# Sample size per group (two-tailed, α=0.05, power=80%)
Z_α/2  = 1.96   (critical value for 95% confidence)
Z_β    = 0.842  (critical value for 80% power)
MDE    = 0.20   (minimum detectable effect: 20% lift)
p      = baseline conversion rate (from platform data, or 3% fallback)
q      = 1 − p

n = (Z_α/2 + Z_β)² × (p×q + p×q) / MDE²

The holdout percentage (5%–20%) is calculated from the required sample size divided by the estimated daily conversions. Duration is capped at 90 days, with platform minimums of 7 days (Meta) and 14 days (Google).

Results are analyzed using the same two-proportion z-test. A result is conclusive when p_value < 0.05 AND the holdout group has achieved at least 100 conversions. The incremental lift and true ROAS are calculated as:

non_incremental_pct = treatment_rate / control_rate
incremental_pct     = 1 − non_incremental_pct
true_roas           = reported_roas × incremental_pct

Note: In this model, the control group sees ads (existing behavior) and the treatment group is the holdout (withheld from ads). This means control_rate is the ad-exposed conversion rate and treatment_rate is the organic baseline.

Confidence levels & limitations

Every finding in a Ripplux audit is assigned a confidence level that reflects how the result was derived:

Estimated

Derived from heuristic analysis of synced data (journey analysis, CTR trajectories, funnel drop-offs). No controlled experiment was run. These numbers are directionally correct but carry uncertainty.

Tested

A conclusive incrementality experiment confirmed the finding (p < 0.05, minimum 100 holdout conversions). The true ROAS and incremental lift figures are derived from randomized data.

Inconclusive

An experiment was run but did not reach statistical significance. The audit report remains at Estimated confidence. Ripplux will suggest a revised holdout percentage or duration for a follow-up test.

Known limitations

  • Cannibalization estimates are lower bounds — prospective cannibalization is not modeled.
  • Creative fatigue analysis requires 30 days of daily data per creative; new creatives will have limited data.
  • Conversion leak accuracy depends on the quality of Shopify funnel tracking in your specific theme.
  • Incrementality tests require a minimum monthly ad spend of $5,000 and at least 50 conversions per 30 days to be eligible.
  • Attribution overlap between Meta and Google is estimated using campaign budget ratios, not user-level deduplication.
  • All monetary estimates use USD. Currency conversion for non-USD stores uses the rate at the time of data sync.

See it applied to your store

Connect your Shopify store and run your first audit in under 5 minutes.

Start free — no credit card required