Google Ads
5 of 7 Google Ads experiments stuck in INITIATED; errors only visible in the API
An account we audited had created seven campaign experiments in the last week of August. On the Experiments page, the default card view, they looked like seven experiments. Some had dates. Some had "Active" chips. Nothing was flagged.
Here is what they actually were.
Experiment | Created | Scheduled to run | Status via API | What the UI showed |
|---|---|---|---|---|
| 27 Aug | 27 Aug – 27 Aug | REMOVED | Gone |
| 28 Aug | 28 Aug – 22 Oct | INITIATED | Card with dates |
| 29 Aug | 29 Aug – 4 Sep | ENABLED → PROMOTED | Active |
| 1 Sep | 1 Sep – 26 Oct | INITIATED | Card with dates |
| 1 Sep | 1 Sep – 26 Oct | INITIATED | Card with dates |
| 1 Sep | 1 Sep – 26 Oct | INITIATED | Card with dates |
| 2 Sep | 2 Sep – 27 Oct | INITIATED | Card with dates |
| 2 Sep | 2 Sep – 27 Oct | ENABLED | Active |
Five of seven were stuck in INITIATED, the state an experiment enters when it has been created but the trial campaign hasn't finished being built. Normally that lasts minutes. These had been there for up to a week.
Where the errors actually were
Switching the Experiments page from card view to table view changed the status column for those five to a red chip: Failed due to errors. That's the only place in the interface it appears. No email. No notification. No banner on the campaign. The card view, which is the default, shows nothing.
The errors themselves (what actually went wrong), are visible in exactly one place: an API method called ExperimentService.list_experiment_async_errors. It returns the campaign-cloning failures that stopped the trial campaign from being created. We called it. The errors were Google-side: the clone operation had failed on something in the base campaign's configuration, and the experiment had simply stopped there.
Where you'd look | What you'd see |
|---|---|
Experiments page, card view (default) | Nothing wrong |
Experiments page, table view | "Failed due to errors" |
Campaign page of the base campaign | Nothing |
Email / notifications | Nothing |
| The actual error |
An experiment that fails on creation costs nothing, which is presumably why nobody prioritised alerting on it. But it also produces no data, and someone who believes it's running is making decisions on the assumption that a test is in progress when it isn't.
The one that was running was in the wrong place
CL was a bidding experiment: Manual CPC against Maximise Conversions on a panel campaign. Good question, correctly set up, running. It was on the regional panel campaign.
Campaign | Daily spend | Daily clicks | Notes |
|---|---|---|---|
Panel, Regional (where the experiment was) | $31 | ~12 | |
Panel, Metro (where it should have been) | $154 | ~66 | Five times the volume |
After eleven days, the experiment's trial arm had $316 of spend and eleven clicks. At that rate it would never reach a readable sample. A bidding test needs conversions, ideally dozens per arm; this one had two.
And when it did produce a reading, it pointed the opposite way to the battery test on the same question:
Experiment | Category | Result | Direction |
|---|---|---|---|
| Battery | Treatment arm won: +10% conv, −67% cost/conv | Automated bidding wins |
| Panel | Control arm winning: −67% conv, +13% cost/conv | Manual CPC wins |
Two categories, two answers. Both are probably right for their category. But CL's answer is built on eleven clicks and shouldn't be trusted yet, and it can't be trusted soon, because the campaign it's on doesn't generate enough traffic to ever make it trustworthy.
Experiments split the thing they're testing
There's a structural problem with campaign experiments that isn't in the documentation prominently enough.
A campaign experiment clones the base campaign into a trial campaign and divides traffic between them. It also divides conversions. Smart bidding strategies (Target CPA, Maximise Conversions), need a minimum volume of conversions to work, commonly cited as around 30 per month per campaign.
Base campaign alone | After 50/50 experiment | |
|---|---|---|
Conversions per 30 days | 33 | ~16 per arm |
Above the smart-bidding threshold? | Just | No, both arms |
So an experiment designed to test whether Target CPA works can push both arms under the volume Target CPA needs to work, and produce a result that says "Target CPA doesn't work" for a reason that has nothing to do with Target CPA.
This is why the experiment framework is the wrong tool for a class of tests it appears designed for.
Ad variations don't have this problem
Google Ads has a second experiment type, quieter and less flexible: the ad variation. It doesn't clone the campaign. It modifies the ads in place (text, or the final URL), and serves the modified version to a percentage of auctions within the same campaign. One campaign, one budget, one bid strategy, one conversion pool.
Campaign experiment | Ad variation | |
|---|---|---|
What it can change | Anything | Ad text, final URL, display path |
Clones the campaign | Yes | No |
Splits the conversion signal | Yes | No |
Runs across multiple campaigns at once | No | Yes |
Can test bidding | Yes | No |
Can test landing pages | Yes, expensively | Yes, cheaply |
Can be created via the API | Yes | No |
Failure mode | Silent | Ads sit in review |
For a landing page test (which is what most "experiments" in most accounts actually are), the ad variation is strictly better. It doesn't disturb bidding, it doesn't halve the signal, and it can enrol six campaigns in one experiment so the sample accumulates faster.
The API cannot create ad variations
If you automate account management, this matters. In the Google Ads API (v25 as of September 2026):
What exists | What doesn't |
|---|---|
| Any ad variation service |
| Any URL field on |
| Any create path for |
The enum value is what makes it confusing: you can query ad variations that exist, so it looks like the type is supported. It is, for reads. Creation is interface-only. Plan pipelines accordingly.
The ad variation failure mode
Ad variations don't fail silently. They wait. A variant ad is a new ad as far as policy review is concerned, even if only the URL changed. It goes into the review queue.
Event | Time |
|---|---|
Variations created | Friday, 20:15 |
Still | Friday, 22:06 |
Approved | Some time before Saturday, 16:30 |
Total delay | ~20 hours |
During those twenty hours the control arm served normally and banked a full day's conversions. When the variant finally started, a naive lifetime comparison read:
Arm | Clicks | Conversions | CVR |
|---|---|---|---|
Control | 380 | 15.4 | 4.05% |
Variant | 90 | 1.0 | 1.11% |
Apparent effect | −73% |
Entirely an artefact of the staggered start. On the first day both arms actually served, it was 91 clicks against 83, one conversion each. The fix is to window both arms from the variant's first serving day and discard everything before. Build that into your reporting; don't rely on remembering it.
The checklist
# | Do this | Because |
|---|---|---|
1 | Use table view, not card view, on the Experiments page | Status is a column there and nowhere else in the interface |
2 | If you have API access, call | It's the only place the error text lives |
3 | Put the test on the campaign with the volume | A test that can't reach significance in a month isn't a test |
4 | Don't run a campaign experiment on a campaign near its smart-bidding threshold | You'll break the bidding to test the bidding |
5 | For URL or creative changes, use an ad variation | No signal split, multi-campaign, cheaper |
6 | Expect a review delay on variations; window results from the variant's first serving day | The staggered start produces a fake result otherwise |
7 | Delete failed experiment shells | They confuse the next person, and eventually you |
The legacy tail
One more thing the table view showed. Alongside the seven recent experiments were eleven older ones going back to 2018 (video experiments from 2020, landing page tests from 2019, a bidding test from 2023), several still marked "Active" with an end date of 2037. They weren't doing anything. They were just never closed.
Experiment | Started | Status |
|---|---|---|
| Jun 2020 | Active, end 2037 |
| Jun 2019 | Enabled |
| Feb 2022 | Enabled |
| Aug 2023 | Enabled |
Eighteen experiments in the list. Two doing anything. That's the cost of a feature that never tells you when it's finished, and it is, in miniature, the story of most Google Ads accounts.
Related services
Filed under



