[{"data":1,"prerenderedAt":171},["ShallowReactive",2],{"product-/en/product/incrementality-testing-en":3},{"id":4,"title":5,"body":6,"description":6,"extension":7,"meta":8,"navigation":43,"path":165,"seo":166,"stem":169,"__hash__":170},"content_en/1.product/incrementality-testing.yml","Incrementality Testing",null,"yml",{"hero":9,"sections":18,"technical":111,"faq":136,"cta":155},{"eyebrow":5,"headline":10,"description":11,"links":12},"Prove what's [truly incremental]{class='text-primary'} in your marketing","Platform-reported ROAS counts conversions that would have happened anyway. TrustData runs geo holdouts, time holdouts, and platform lift tests to isolate true causal lift — and automatically recalibrates your budget optimizer with real iROAS.",[13],{"label":14,"to":15,"size":16,"color":17},"14-day free trial","https://app.trustdata.tech","lg","primary",[19,38,57,75,93],{"title":20,"description":21,"id":22,"headline":23,"orientation":24,"features":25},"The problem with platform-reported ROAS","Every ad platform claims credit for every conversion it could plausibly have influenced. A Meta retargeting campaign reaches a customer who was already going to buy — and claims the ROAS. The real question is never \"how many conversions do we see?\" but \"how many conversions would we have lost if we stopped spending?\"","why","The incrementality gap","horizontal",[26,30,34],{"title":27,"description":28,"icon":29},"Non-incremental conversions","Typically 20–60% of attributed conversions are non-incremental — they would have happened without the ad. Platform ROAS is inflated by exactly this share.","i-lucide-percent",{"title":31,"description":32,"icon":33},"The calibration factor","TrustData measures the ratio of your true incremental conversions to platform-claimed conversions. This calibration factor — typically 0.3–0.8 — corrects your optimizer's revenue model.","i-lucide-sliders-horizontal",{"title":35,"description":36,"icon":37},"Why it changes budget decisions","A Meta campaign with reported ROAS 4.0 and calibration factor 0.45 has a true iROAS of 1.8. That changes whether you scale, hold, or cut — and changes your optimizer's recommendations entirely.","i-lucide-git-compare",{"title":39,"description":40,"id":41,"headline":42,"orientation":24,"reverse":43,"features":44},"Geo holdout — the gold standard","Pause ads in a set of test regions while keeping them running in matched control regions. The conversion delta between test and control, adjusted for pre-period trends, is the true incremental lift.","geo-holdout","Geo holdout",true,[45,49,53],{"title":46,"description":47,"icon":48},"Matched region control","Test and control regions are selected to be as similar as possible in baseline conversion rates. TrustData uses your first-party regional conversion data from ClickHouse for matching.","i-lucide-map-pin",{"title":50,"description":51,"icon":52},"Trend extrapolation counterfactual","The counterfactual is built from pre-period trend extrapolation — not naive averaging. A permutation test with 1,000 shuffles of test/control labels provides the p-value.","i-lucide-trending-up",{"title":54,"description":55,"icon":56},"Direct calibration output","Result: lift_pct, iROAS, p_value, and calibration_factor = our_iROAS / platform_reported_ROAS. This factor is immediately applied to the budget optimizer.","i-lucide-flask-conical",{"title":58,"description":59,"id":60,"headline":61,"orientation":24,"features":62},"Time holdout — simplest to run","Pause a channel entirely for 2–4 weeks. Measure the drop in your deduplicated first-party conversions. Compare against a Prophet-forecast counterfactual built on pre-period data.","time-holdout","Time holdout",[63,67,71],{"title":64,"description":65,"icon":66},"No regional data required","Time holdouts work with any first-party conversion data — no regional breakdown needed. Best for answering \"is this channel incremental at all?\"","i-lucide-clock",{"title":68,"description":69,"icon":70},"Prophet counterfactual","TrustData fits a Prophet time series model on your pre-period daily conversion data, forecasts what would have happened during the pause, and compares the forecast to actuals.","i-lucide-line-chart",{"title":72,"description":73,"icon":74},"Seasonal robustness","Prophet accounts for weekly seasonality and trend changes. Where Prophet isn't available, TrustData falls back to a linear extrapolation with z-test significance calculation.","i-lucide-calendar",{"title":76,"description":77,"id":78,"headline":79,"orientation":24,"reverse":43,"features":80},"Platform lift test — least friction","Use Meta Conversion Lift or Google Conversion Lift to handle holdout randomization. TrustData measures outcomes from your deduplicated first-party data — not from what the platform reports — and calculates how much to discount their claimed lift.","platform-lift","Platform lift test",[81,85,89],{"title":82,"description":83,"icon":84},"Platform handles the holdout","Meta and Google randomize audiences into test and control groups. You run the test as normal — TrustData reads your first-party results and compares against platform claims.","i-lucide-layers",{"title":86,"description":87,"icon":88},"Calibration from first-party data","calibration_factor = our_measured_lift / platform_claimed_lift. This ratio tells you how much to discount the platform's attribution claims for this audience type going forward.","i-lucide-divide",{"title":90,"description":91,"icon":92},"No geo data required","Platform lift tests work at the audience level — no regional conversion data needed. Best for e-commerce brands without regional tracking or for audience-level holdouts on Meta.","i-lucide-users",{"title":94,"description":95,"id":96,"headline":97,"orientation":24,"features":98},"Calibration feeds directly into the budget optimizer","Every completed incrementality test updates the iROAS calibration factor for that channel. The budget optimizer automatically uses the true incremental ROAS for recommendations — no manual input required.","optimizer","The feedback loop",[99,103,107],{"title":100,"description":101,"icon":102},"Automatic calibration update","When a test concludes, TrustData updates the CalibrationFactor for that channel and immediately triggers a response curve rebuild and budget optimization run.","i-lucide-refresh-cw",{"title":104,"description":105,"icon":106},"Temporal decay model","Calibration factors decay over time — 50% weight at 90 days, 25% at 180 days. The optimizer degrades gracefully toward uncalibrated rather than relying on stale data.","i-lucide-timer",{"title":108,"description":109,"icon":110},"Re-test recommendations","When a calibration factor becomes stale (>90 days), TrustData automatically creates a low-urgency recommendation to run a new test. Untested channels are flagged in the budget optimizer UI.","i-lucide-bell",{"title":112,"description":113,"features":114},"What's included","Every component of the incrementality testing engine.",[115,117,119,121,124,127,130,133],{"title":42,"description":116,"icon":48},"Regional pause test with trend extrapolation counterfactual and permutation significance testing. Requires regional first-party conversion data.",{"title":61,"description":118,"icon":66},"Full channel pause for 2–4 weeks. Prophet or linear counterfactual. Works with any daily first-party conversion time series.",{"title":79,"description":120,"icon":84},"Reads Meta/Google test and control group data. Compares against your first-party deduplicated outcomes. calibration_factor = our_lift / platform_lift.",{"title":122,"description":123,"icon":33},"Calibration factors","Per-channel iROAS calibration stored with confidence score and measurement date. Applied automatically to response curve models.",{"title":125,"description":126,"icon":106},"Temporal decay","Calibration weight decays by 50% every 90 days. The optimizer transitions smoothly from calibrated to uncalibrated rather than hard-switching.",{"title":128,"description":129,"icon":84},"ROI waterfall","ROI 1 (reported revenue vs spend) → ROI 2 (gross profit) → ROI 3 (net of non-working costs) → ROI 4 (incremental net profit with calibration). Stops at the highest level with available data.",{"title":131,"description":132,"icon":110},"Stale calibration alerts","Weekly check for calibration factors older than 90 days. Automatically creates re-test recommendation cards. Untested channels flagged in the budget optimizer.",{"title":134,"description":135,"icon":52},"Optimizer integration","Concluded tests trigger automatic response curve rebuild + budget optimization run. iROAS-calibrated channels get materially different budget recommendations than uncalibrated ones.",[137,140,143,146,149,152],{"label":138,"content":139},"What is incrementality testing?","Incrementality testing measures whether a marketing channel is actually causing conversions — or just appearing in the attribution path of conversions that would have happened anyway. Most attribution models (including DDA) measure correlation, not causation. Incrementality testing uses controlled experiments — pausing ads in specific regions or time periods — to measure the actual counterfactual. The result is a calibration factor that corrects your ROAS for non-incremental credit.",{"label":141,"content":142},"Why does platform-reported ROAS overstate incrementality?","Ad platforms use look-back windows and last-touch-biased attribution to maximize the conversions they can claim. More importantly, they can't (and don't) remove conversions that would have happened without the ad. A customer who was already in checkout when they saw a retargeting ad is counted as a conversion by Meta. An incrementality test pauses ads for a control group and measures whether conversion rates actually drop — quantifying how many of those conversions were genuinely caused by the advertising.",{"label":144,"content":145},"What is a geo holdout and when should I use it?","A geo holdout pauses advertising in a set of test regions while keeping it running in matched control regions. You compare conversion rates between test and control regions during the test period. It's the most rigorous method because you have a parallel control group, which removes seasonal and trend confounds. Use it when you have regional conversion data and want a high-confidence calibration factor. It's the gold standard for brand campaigns, video, and channels where time holdouts would be too disruptive.",{"label":147,"content":148},"What is a calibration factor?","A calibration factor is the ratio of your true incremental ROAS to the platform-reported ROAS for a given channel. For example, if Meta reports ROAS 4.0 and your geo holdout shows true iROAS of 1.8, the calibration factor is 0.45. TrustData stores this factor per channel and applies it to the response curve model. The budget optimizer then recommends allocations based on true incremental ROAS — which often changes the direction of recommendations significantly.",{"label":150,"content":151},"How does the temporal decay model work?","Incrementality results become less reliable over time as audience behavior, creative, and targeting evolve. TrustData applies an exponential decay to calibration factors with a default half-life of 90 days — meaning a 90-day-old calibration factor carries 50% of its original weight, a 180-day-old factor carries 25%, and so on. This prevents the optimizer from making decisions based on a single old test while still using some signal until a new test can be run.",{"label":153,"content":154},"Do I need regional data to run an incrementality test?","Only for geo holdouts. Time holdouts work with any daily first-party conversion data — no geographic breakdown required. Platform lift tests work at the audience level and also don't require regional data. If you don't have regional tracking, start with a time holdout (pause a channel for 2–4 weeks) or use the platform's built-in lift test (Meta Conversion Lift or Google Conversion Lift) with TrustData's first-party measurement layer.",{"title":156,"description":157,"links":158},"Find out what's actually driving your conversions","14-day free trial. Run your first incrementality test and calibrate your budget optimizer with real iROAS.",[159,161],{"label":14,"to":15,"size":160,"color":17},"xl",{"label":162,"to":163,"variant":164,"size":160},"View pricing","/en/pricing","outline","/product/incrementality-testing",{"title":167,"description":168},"Incrementality Testing — Prove True Causal Lift in Your Marketing","Run geo holdouts, time holdouts, and platform lift tests to measure true incremental ROAS. Calibrate your budget optimizer with real iROAS — not what Google and Meta claim.","1.product/incrementality-testing","8RsXL5E88ZRuD-Lf3mZ00E8MgtZRS7HIs4UCQshdddc",1773825052054]