With CPP A/B Testing in AppTweak, you can run two product pages side-by-side on the same Apple Ads ad group, and find out which turns more taps into installs with statistical confidence.
AppTweak sets up your experiment, splits the traffic fairly, and only declares a winner when the result can be trusted.
Why run a CPP A/B test?
You put real time and budget into building custom product pages. But knowing whether a CPP actually beats your Default Product Page, or which of two CPPs performs better, is harder than it looks:
Apple Ads only allows one active ad variation per ad group. You can't show two pages to the same audience at the same time in Apple Ads alone.
Before/after comparisons are misleading. If you swap a page and compare this week to last week, seasonality, competitor activity, bid changes and day-of-week effects all get mixed into the result.
A gap in conversion rate isn't always a real difference. Two identical pages will show different conversion rates, just by chance. Without a proper test, it's easy to roll out a "winner" that was only luck.
CPP A/B Testing solves all three. In AppTweak, you can:
Compare two pages on the same ad group, at the same time: your Default Product Page vs. a CPP, or one CPP vs. another.
Get a clear verdict on conversion rate (installs ÷ taps), backed by statistics, without any statistical setup on your side.
Know up front how long the test will take, and know if your ad group doesn't have the traffic to finish before you launch a test.
Stay in control: Nothing is applied automatically. You decide whether to put the winning page live.
Where to find CPP A/B Testing
In AppTweak's Campaign Manager, open CPP A/B Testing in the left-hand menu. Use the app picker at the top of the page to choose the app you want to test.
Once you've set up your tests, this page will list each one with its status, the two pages being compared, and its start date. You can View, Rename, or Stop any test.
Availability & scope
CPP A/B Testing is available to all Campaign Manager Enterprise clients. If you're on another plan, you'll be able to preview the setup flow and get in touch with us to learn more.
You'll need an Apple Ads integration with read-and-write access. Ad groups that belong to a read-only campaign group can't be used in a test.
Each test runs on one ad group and compares two pages.
A test runs for up to 8 weeks, allowing enough time to collect results.
How CPP A/B Testing in AppTweak works
Below is what happens to your ad group from launching your test to finishing it. Understanding this will help you trust the result and know what to expect in your Apple Ads account.
When you launch a CPP A/B test in AppTweak:
Your ad group is copied twice. AppTweak creates two new ad groups - exact duplicates of your original one with the same keywords, bids and targeting. They're named consistently with your ad group, for example Brand US - A/B Test (A) 2026-11-03 and Brand US - A/B Test (B) 2026-11-03. Copy A will show page A, and copy B will show page B.
Your original ad group is paused. It is not modified in any way during the test. It stays exactly as you left it, ready to resume when the test ends.
The two copies take turns, hour by hour. At any given hour, only one of the copied ad groups is live, and they swap hours throughout each day. Over the course of the test, each page gets the same mix of hours, days of the week, and audiences, so neither page benefits from a "better" time slot.
AppTweak checks the results once a week. Each week, the conversion rates of the two pages are compared. If one page is ahead by a margin that can't plausibly be luck, the test ends early with a winner. Otherwise, it keeps running.
At the end of the test, everything goes back to normal. Both copies are paused and your original ad group starts again with its initial creatives. This happens whether the test found a winner, found no clear winner, or was stopped by you.
You decide what to apply. If a winner was identified, you can apply the winning page to your original ad group in one click. Nothing changes until you confirm.
💡 Why two copies instead of testing against the original ad group?
An ad group that has been running for months has a history and authority with Apple Ads. A brand-new ad group doesn't. If the original ran as page A against a fresh copy running page B, the test would partly measure "old ad group vs new ad group" instead of "page A vs page B". Starting both pages in fresh copies puts them on equal footing, and leaves your original untouched as a safe fallback.
How to create your CPP A/B test
Click Create A/B test. The Create CPP A/B Test wizard opens with three steps.
Step 1: Plan your test
1. Name your A/B test. Give the test a name you'll recognize in the list, for example "US Brand: Holiday CPP vs Default".
2. Select a Minimum Detectable Effect (MDE). The MDE is the smallest improvement in conversion rate the test is designed to catch. It's a relative lift: with a baseline conversion rate of 50%, a 5% MDE means the test can detect a page converting at 52.5% (50+5%) or better.
5% (Recommended): catches smaller wins. The right balance for most ad groups.
10%: only catches larger wins, but needs far less traffic. Use it when an ad group is short on taps.
3. Select an ad group. The table lists your ad groups with the information you need to choose. You can use the campaign and country filters to find the ad group you want.
Daily taps and Baseline CR: the ad group's average over the last 28 days.
Timeline: how long the test is expected to run, for example ~3 weeks.
Traffic: whether the ad group has enough traffic to reach a conclusion (see below).
Understanding the Traffic column
AppTweak calculates how many taps each page needs before a difference corresponding to your MDE can be reliably identified. Combined with the ad group's daily taps, that gives the test's duration, rounded up to whole weeks.
Traffic | What it means |
High | The test should finish comfortably, with room for an ordinary dip in traffic. |
Low | The test can run, but it needs almost the full 8 weeks. A drop in taps could stop it from reaching a verdict. |
Insufficient | The ad group doesn't have enough taps to detect a lift of this size within 8 weeks, so you can't launch it. If Try 10% MDE is shown, switching the MDE to 10% might make it eligible. |
Not available | The ad group can't be tested right now. Hover over the badge to see why: no taps in the last 28 days, a conversion rate too high for the selected MDE, or the ad group is already in another A/B test. |
⚠️ Important: The duration is a forecast based on the last 28 days. If your ad group's traffic drops during the test (lower budget, lower bids, seasonality), your test still ends on its planned date but with less data, so it will only be able to detect larger differences.
Step 2: Pick your creatives
Choose page A. Click Add on slot A and choose a page in the Choose a Custom Product Page window. Only pages eligible for this ad group are listed, with the Default Product Page first.
Choose page B. Do the same for slot B. Use Change to swap a page you've already picked.
You can compare the Default Product Page with a CPP, or two CPPs with each other.
💡 Pro tip: If no CPP appears, the app has no CPP available for this ad group's country. Create one in App Store Connect, or choose a different ad group.
Step 3: Review & launch
You can check the summary before you launch:
MDE and Confidence Interval (90%)
The Ad group being tested
The Timeline: the latest date the test will end. Test ends sooner if completed.
The two Creatives
Finally, you can Launch test.
Understand the results of your test
Click View on a test to open its results page.
While the test runs, the top banner shows the test status and, for each page, the Taps so far against the number of taps it needs.
Below, the Preliminary results show each page's conversion rate with its range, and a table of performance metrics from the start of the test until today.
The banner tells you where the test stands:
In progress: no conclusion yet. The banner shows when the last check happened and when the next one is due.
⟨Page⟩ wins: one page converted better by a margin that is very unlikely to be chance. The banner shows both conversion rates and the difference in percentage points.
The two pages performed about the same: the test ran its full duration and the gap between the pages was too small to tell apart from chance.
You stopped this test: you ended the test before it reached a conclusion.
The test could not start: something prevented the copies from going live. Use Launch again to retry.
💡 Open How we calculated this on the results page to see each page's conversion rate with its 90% range, and the difference between them. When the range around the difference doesn't include zero, the gap is trustworthy.
Can I trust the verdict?
Most "A/B test" dashboards compare two numbers and highlight the bigger one. CPP A/B Testing is built to avoid the classic traps that lead to false winners:
One decision metric. The verdict is based on conversion rate (installs ÷ taps) only. Looking at many metrics and picking the one that "won" leads to finding a difference that isn't there.
A planned test size. The duration is calculated to give the test an 80% chance of detecting a real lift of your chosen size, instead of running for an arbitrary number of days.
No peeking. Conversion rates move around a lot in the first days, and any two pages will trade places by chance. That's why AppTweak only judges the test at weekly checkpoints, not every time you open the page.
A higher bar for stopping early. At the weekly checkpoints, a page must be ahead by an overwhelming margin (99%) to end the test early. The normal 90% confidence bar is only used at the final check. This is what keeps early "wins" honest.
A fixed end date. The end date is set at launch. Weekly checks can make a test finish sooner, never later. The test can't be extended because a result is "almost there", which is another common source of false winners.
An honest "No clear winner". If the evidence isn't strong enough, AppTweak says so, instead of picking a page for you.
💡 "No clear winner" isn't a failed test. It tells you the choice between these two pages is not where your gains are, so you can focus your creative effort elsewhere.
Apply the winning page
When a test ends, the two copies are paused and your original ad group starts again with its initial creatives. Nothing is applied automatically.
To put the winning page live:
Open the test. The banner shows which page won and by how much.
Click Apply winning variation. A confirmation asks you to apply the page to your original ad group. This replaces the active creative on that ad group.
Confirm. The winning page becomes the creative of your original ad group, and the banner shows Winning variation was applied. A winner can only be applied once per test.
💡 Pro tip: The winner is applied to your original ad group, not to one of the test copies. Your original keeps all its history with Apple Ads; only its creative changes.
Stopping a test early
You can stop a running test at any time with Stop test early on the results page (or Stop test from the list).
Stopping can't be undone. A stopped test can't be resumed; start a new one if you want to test again.
Both copies are paused, and your original ad group resumes with its initial creatives.
The results collected so far stay available, clearly marked as stopped before a conclusion was reached.
⚠️ Important: A difference you see before the test ends is not a verdict. Stopping early because one page "looks ahead" gives up the statistical guarantee. If one page is truly far ahead, the weekly checks will end the test early on their own.
Concrete examples
Testing a seasonal CPP against your Default Product Page
Your "Brand – US" ad group gets around 400 taps a day at a 55% conversion rate, and you've built a holiday CPP. You run it as page B against your Default Product Page, with a 5% MDE. The ad group shows High traffic and a ~3 weeks timeline.
In week 2, the holiday page is far enough ahead that the weekly check ends the test early: Holiday CPP wins, converting 4 percentage points higher. You click Apply winning variation and the holiday page goes live on your original ad group.
Comparing two CPP concepts on a smaller ad group
Your "Category – UK" ad group gets fewer taps, and at 5% MDE it shows Insufficient (Try 10% MDE). You switch to a 10% MDE. The ad group now shows Low traffic with a ~7 weeks timeline.
The test can now run, but you know it will only catch a larger difference. You keep the ad group's budget stable, so traffic doesn't drop mid-test.
Getting a "No clear winner"
You test a gameplay-focused CPP against a feature-focused CPP. After 4 weeks, the gameplay page is 0.8 percentage points ahead, too small to tell apart from chance.
The test ends, your original ad group resumes as before, and you now know that this change in messaging doesn't move conversion rate. You turn your effort to a bolder creative concept for the next test.
Technical information to keep in mind
Keep the ad group stable during the test. While a test is running, the ad groups involved can only be renamed. Keywords and Max CPT bids can't be changed, though you can still pause keywords and manage negative keywords.
Automations and Smart Bidding don't apply to ad groups in an active CPP A/B test, so they don't change the conditions of the experiment. They resume once the test ends.
Don't edit the test copies in the Apple Ads console. Pausing, editing or changing the ad of one of the duplicated ad groups outside of AppTweak breaks the fair comparison.
One test per ad group. An ad group that is already in a running test can't be used in another one.
The verdict is based on Apple Ads conversion rate only. Other metrics in the results table (impressions, spend, installs) are shown for context.
Results depend on traffic. The test duration is forecast from the last 28 days. If traffic falls during the test, it still ends on its planned date with less data and can only detect larger differences.
Reported installs can be updated by Apple for a few days after the fact, so the latest days of data may change slightly.
Tests are available for Search Results campaigns only.
Best practices
Test a real difference. Pages that differ by a small detail rarely produce a measurable lift. Test clearly different concepts: a different first screenshot, a different value proposition, a different audience angle.
Pick high-traffic ad groups first. Your brand and top generic ad groups reach a verdict fastest. Look for High traffic and the shortest Timeline.
Avoid big events during the test. Major budget cuts, app updates that change your default page, or a launch in the middle of the test can blur the result.
Let the test finish. The weekly checks will end it early on their own if one page is clearly ahead.
Plan the next test. Every result, including "No clear winner", tells you something. Use it to decide which creative direction to explore next.








