---
title: "Before You Resell AEO Software, Run This 30-Day Holdout Test"
description: "Test white-label AEO software across three client domains and one holdout. Freeze the prompts, inspect what the tool ships, and calculate whether the retainer works."
url: "https://groas.com/post/before-you-resell-aeo-software-a-30-day"
image: "https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/5cf4fad4-eaed-4099-a93f-dd951a35f560.png"
published: "2026-10-19T05:28:08.474Z"
modified: "2026-10-19T05:28:08.861Z"
---

October 19, 2026 · 9 min read

# Before You Resell AEO Software, Run This 30-Day Holdout Test

[Alexander PerelmanHead Of Product @ groas](https://groas.com/author/alexander-perelman)[LinkedIn](https://www.linkedin.com/in/alexander-433793253/)

![Four identical seedlings in pots, three wired to a gadget with a maxed-out gauge and one labelled holdout, all grown to exactly the same height.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/5cf4fad4-eaed-4099-a93f-dd951a35f560.png)

In this article

1. [Question: does the tool earn citations or count them?](#question-does-the-tool-earn-citations-or-count-them)
2. [Setup: give the dashboard a fair opponent](#setup-give-the-dashboard-a-fair-opponent)
3. [Measurements: keep visibility and fulfillment in separate columns](#measurements-keep-visibility-and-fulfillment-in-separate-columns)
4. [Calendar: 30 days, with the holdout left alone](#calendar-30-days-with-the-holdout-left-alone)
5. [Reading the result: subtract the drift before you sell the lift](#reading-the-result-subtract-the-drift-before-you-sell-the-lift)
6. [Decision gates: what earns a place in the retainer?](#decision-gates-what-earns-a-place-in-the-retainer)

A white-label AEO demo can show your client at zero citations and a competitor at 40% before the coffee gets cold. It cannot show whether the software will change that result. If you build a $2,000-a-month client retainer around the demo, you are betting your retention on a chart.

Agency owners keep forwarding me pitches for all-in-one AI search dashboards with their logo in the corner and contracts running from $245 to $795 per month. The margin looks easy until an account manager has to write every page, fix every markup issue, and chase every citation the dashboard recommends. Before you resell the tool, test what it does. Here is the 30-day protocol I would run.

## Question: does the tool earn citations or count them?

When I managed Google Ads accounts manually, I learned not to buy bidding software for its reporting tab. A tool can chart declining conversion volume in six shades of blue and still leave you to fix it. AEO and generative engine optimization (GEO) have the same problem: many platforms query AI engines, log brand mentions, then [leave the work with your account managers](https://www.reddit.com/r/DigitalMarketing/comments/1w545i2/i_tried_10_aeogeo_tools_to_help_my_brand_get/).

**The test is not whether the dashboard finds a gap. It is whether the platform closes one.** If your team still researches the missing prompts, writes the content, gets it through the client’s CMS, and pursues outside references, you bought a diagnostic tool. Price it and staff it accordingly; do not sell it as autonomous fulfillment.

Run the vendor on three client domains for 30 days. Keep a fourth, comparable domain untouched as a holdout. Use fixed prompts, repeated measurements, and a separate record of what went live. That is the same discipline I apply to ad-copy tests: hold the inputs steady before you claim the new thing caused the result.

## Setup: give the dashboard a fair opponent

A single-domain before-and-after chart is not enough. Search results change while you are testing; [controlled search split tests use holdouts](https://www.searchpilot.com/resources/blog/seo-test-best-practices) for a reason. AI answers can shift too. Without a comparison domain, background movement can look like a vendor win.

Choose three active client domains to connect to the platform and one untouched holdout in a related vertical. Match them as closely as you can on organic traffic, backlink volume, and commercial intent. They will not be identical. Record the differences before Day 1 so you do not discover them only after the numbers disappoint you. **The holdout is a check on drift, not a magic proof of causation.**

![Diagram of a 30-day AEO test: three treated domains, one holdout, and four answer engines.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/c332c852-6246-4cb3-b381-92bd6e0620fd.png)

### Freeze 40 commercial prompts per domain

Build a separate set of **40 realistic buyer prompts for each domain**, divided evenly among four intents:

- **Category:** “best \[software/service] for \[specific industry]”
- **Comparison:** “\[client brand] vs \[primary competitor]”
- **Cost:** “how much does \[service] cost in 2026”
- **Problem-led:** a question the client’s offering directly addresses

Write the lists in a locked sheet on Day 0, outside the vendor dashboard. Keep the intent mix comparable across domains, then freeze every prompt for the full test. If a platform replaces ten competitive queries where your client is absent with obscure brand-adjacent queries where it appears, its visibility score may rise without any change in market presence. Do not let it change your denominator.

### Sample the same way, every week

Run each frozen prompt twice a week across ChatGPT Search, Perplexity, Gemini, and Google AI Overviews. Record the engine, prompt, date, answer, brand mention, and clickable link to the client’s domain. Keep the sampling procedure consistent rather than comparing whatever the vendor happened to capture on different days.

Over four weeks, that schedule produces **eight observations per prompt per engine**: 320 answer runs per domain on each engine, or 1,280 across four engines. Repetition will not eliminate variation. It will give you a more useful rate than one polished demo answer.

## Measurements: keep visibility and fulfillment in separate columns

### Count mentions and linked citations separately

For each answer, mark whether the brand appears and whether the answer contains a clickable link to the client’s domain. Then calculate two rates for each domain, engine, and sampling period:

- **Mention rate:** answers containing the brand name divided by answers sampled.
- **Citation rate:** answers containing a clickable client-domain link divided by answers sampled.

A brand can be mentioned without a link. [Keep those measures separate](https://geneo.app/blog/geo-aeo-measurement-metrics-ai-search-visibility-impact/) rather than accepting a single “visibility” score; [source attribution and brand mentions do not always move together](https://searchengineland.com/measuring-geo-whats-trackable-now-and-whats-still-missing-461759). An unlinked mention is not the same opportunity for a referral visit as a linked citation.

**Compare rates within each engine before combining anything.** A lift confined to ChatGPT does not mean the client’s URLs gained ground in Perplexity or Google AI Overviews. Your sheet should make that plain without asking the vendor’s dashboard for permission.

![Mechanical tally counter beside a pile of unbuilt wooden blocks.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/7c94dd4a-aac5-496c-ae47-c17c963c41b8.png)

### Log work that reached the web

An audit that flags 140 missing schema tags and 12 thin comparison pages has found work. It has not completed it. Create an **execution log** with a timestamp, URL or other verifiable destination, and who performed the work. Check three categories each week:

- **Pages published:** Did the platform push finished content live through the client’s CMS, or hand your copywriter a Markdown draft?
- **Technical fixes applied:** Did it deploy structured data or page changes, or open a recommendation ticket?
- **External references secured:** Can you verify a live third-party reference, or did the platform merely identify a place to pursue one?

Record agency hours beside those entries. If your staff drafts the copy, fixes the site, or does the outreach, count that labor as labor. If live software executions are still at zero after Day 14, you are testing a diagnostic platform, not an autonomous fulfillment engine. A busy “Actions Taken” tab does not change that.

### Price the test at the volume you will actually use

The entry price is not necessarily your agency price. [AEO pricing comparisons](https://resources.rework.com/tools/aeo-ai-visibility/profound-vs-peec-ai) describe tiers that rise with workspaces or agency use: the draft figures put Profound’s Growth tier at $399 per month and Peec AI agency tiers between $245 and $795. [Entry-tier prompt allowances](https://www.dageno.ai/blog/most-affordable-aeo-tools) can also be narrow.

Your schedule requires **320 answer runs per domain per week across four engines**, or 1,280 over four weeks. Ask whether the vendor bills for stored prompts, engine queries, workspaces, domains, or some combination. Those are different limits. Do not assume a 40-prompt plan covers 1,280 queries. Verify the contract and any overages against the [agency AEO contract checklist](https://groas.com/post/the-aeo-platform-pre-signing-checklist-f) before you decide the retainer has margin.

## Calendar: 30 days, with the holdout left alone

A trial is not a control-group test because someone put “experiment” in a spreadsheet title. Set the dates and rules before you connect anything.

1. **Week 1, Days 1–7: Baseline.** Run the frozen prompts on Days 2 and 6 across all four domains. Connect no new tools and publish no site changes. Save the raw answers, not just the calculated rates.
2. **Week 2, Days 8–14: Execution.** Connect the vendor to the three treated domains; leave the holdout untouched. Sample on Days 9 and 13. Record every page, technical change, and external reference that actually goes live, along with the agency work required to get it there.
3. **Week 3, Days 15–21: Retrieval check.** Sample on Days 16 and 20. Inspect server logs for crawler requests to relevant treated URLs, but do not mistake a fetch for a citation. Log what was published and when so you can compare it with later answers.
4. **Week 4, Days 22–30: Final measurement and margin audit.** Sample on Days 24 and 28. Compare Week 4 with the baseline, check the execution record, and reconcile the vendor invoice against the usage you logged. Use Day 30 to decide, not to sneak in a more flattering prompt set.

![Calendar clipboard illustrating a four-week testing schedule, with test tubes and warning tape.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/276e242f-451e-43fb-8097-cdd780ad4a56.png)

### Freeze the other work, too

I would not judge a bidding test while the client replaces its landing page. Apply the same rule to [this 30-day citation test](https://groas.com/post/the-30-day-citation-test-how-to-tell-if). A product announcement, site migration, or PR push can alter the signals available to AI engines whether the vendor helps or not.

Before Day 1, agree to these controls:

- **No manual site changes** on the treated domains or holdout, apart from work the tested platform performs on treated domains.
- **No separate off-page campaigns** for either group: no guest-posting sprint, press release, or digital PR push during the window.
- **No convenient holdout swap.** Keep the related, reasonably comparable domain you selected before seeing the results.

If a client breaks a control, record the event and remove that domain from the clean comparison. Two usable treated domains tell you more than three whose changes you cannot explain.

## Reading the result: subtract the drift before you sell the lift

On Day 30, compare Week 1 and Week 4 citation rates for the treated domains and the holdout. Use the frozen prompts and the same per-engine sampling rules. The working calculation is:

**Holdout-adjusted citation lift = (treated Week 4 rate − treated Week 1 rate) − (holdout Week 4 rate − holdout Week 1 rate).**

Suppose the three treated domains average 12% in Week 1 and 26% in Week 4: a gain of 14 percentage points. If the holdout moves from 10% to 24%, it also gains 14 points. Your holdout-adjusted lift is **zero**, whatever the vendor dashboard celebrates.

If the holdout moves from 10% to 11% instead, the adjusted lift is **13 percentage points**. That is a result worth investigating alongside the execution log. It is not proof that every gained citation came from the tool: one matched holdout cannot account for every difference among four businesses. But it is a much better basis for a client conversation than a before-and-after screenshot.

![Poster-style graphic contrasting holdout-adjusted citation lift with background search-engine drift.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/b8f63766-331a-4c3b-8697-88c7dca24dc4.png)

### Check for a _ghost lift_

I call it a _ghost lift_ when a dashboard announces a visibility surge but the fixed-prompt results and execution log offer nothing to support it. Look for three tells:

- **Prompt substitution:** competitive buyer questions disappear from the vendor’s report while easier, brand-adjacent ones take their place.
- **Mention inflation:** unlinked brand mentions are presented as though they were linked client-domain citations.
- **Phantom execution:** “Actions Taken” means recommendations generated, not pages published, fixes deployed, or references verified.

Ask for timestamps and live destinations. If the only artifact is a colorful chart, the tool has reported market movement. You cannot bill $2,000 a month as though it performed the work.

## Decision gates: what earns a place in the retainer?

Set the pass/fail rules before the final run. Mine would be:

1. **At least 10 percentage points of holdout-adjusted citation lift.** Check the result across the frozen commercial prompts and inspect it by engine. A gain confined to ChatGPT while the other measured engines ignore the client’s URLs does not pass.
2. **Live execution without hidden agency payroll.** The platform must ship the content and technical work it promises, with verifiable external references where it claims to secure them. Eight staff hours a week spent acting on recommendations belong in the cost column, not the software’s achievement column.
3. **Predictable domain economics at this sampling volume.** Get the per-domain fee, workspace limits, prompt limits, query charges, and overage terms in writing. If the 40-prompt, four-engine schedule breaks the margin, the product does not fit the retainer.

I expect plenty of white-label platforms to fail on execution, even if their tracking is useful. That is the agency trap I want this test to expose: a subscription on one side and staff doing the mechanical work on the other. [groas for agencies](https://groas.com/for-agencies) takes the opposite approach, pairing autonomous execution with a named human strategist rather than handing your team an advisory dashboard. Put that claim through the same log and holdout test. No vendor gets a pass for having the better deck.

If the platform clears the citation, execution, and margin gates, you have a defensible reason to package it into a retainer. If it produces only a higher score and an empty action log, you have your answer too. Leave it on the shelf.

## Frequently Asked Questions

### How do I tell if an AEO tool actually earns citations or just reports on them?

Run the vendor on three client domains for 30 days and check whether it pushes content, technical fixes, and external references live, or whether your account managers still do that work. If your team researches prompts, writes pages, and pursues citations, you have bought a diagnostic tool and should price and staff it accordingly.

### Why does testing white-label AEO software need a holdout domain?

AI answers and search results shift during a test, so background movement can look like a vendor win. Keep one comparable holdout domain untouched while three treated domains run the tool, matched on organic traffic, backlink volume, and commercial intent as closely as possible. Record the differences between domains before Day 1, since the holdout is a check on drift, not a magic proof of causation.

### How many prompts should I use when testing an AEO platform, and where do I keep them?

Write 40 realistic buyer prompts for each domain, split evenly among category, comparison, cost, and problem-led intents, and keep them in a locked sheet outside the vendor dashboard. Freeze every prompt for the full test. This stops a platform from replacing competitive queries where the client is absent with obscure brand-adjacent ones where it appears.

### How often should I run the test prompts and across which AI engines?

Run each frozen prompt twice a week across ChatGPT Search, Perplexity, Gemini, and Google AI Overviews, recording the engine, prompt, date, answer, brand mention, and link for every run. That schedule produces eight observations per prompt per engine, or 1,280 answer runs per domain across the four engines over four weeks, which gives a more useful rate than one polished demo answer.

### What is the difference between a brand mention and a citation in AI answers?

A mention means the brand name appears in an AI answer, while a citation means the answer contains a clickable link to the client's domain. Keep the two rates separate for each domain, engine, and sampling period, because an unlinked mention is not the same referral opportunity as a linked citation. Compare rates within each engine before combining anything.

### How do I check whether an AEO platform actually executes work or just makes recommendations?

Keep an execution log with a timestamp, URL, and who performed the work, checking each week for pages published, technical fixes deployed, and external references verified. If live executions are still at zero after Day 14, you are testing a diagnostic platform. Count any staff hours spent drafting copy or fixing the site as labor in the cost column, not as the software's achievement.

### Will a cheap entry-tier AEO plan cover the query volume of this test?

Not necessarily. The test schedule requires 320 answer runs per domain per week across four engines, or 1,280 over four weeks, and entry-tier prompt allowances can be narrow. Ask whether the vendor bills for stored prompts, engine queries, workspaces, domains, or a combination, and get per-domain fees, limits, and overage terms in writing before pricing the retainer.

### How do I calculate holdout-adjusted citation lift?

Subtract the holdout's change in citation rate from the treated domains' change. For example, if three treated domains rise from 12% to 26% while the holdout rises from 10% to 24%, the adjusted lift is zero, whatever the dashboard claims. If the holdout only moves from 10% to 11%, the adjusted lift is 13 percentage points.

## Pay For Results, Not For Hours

Businesses buy the outcome, agencies resell it, and groas answers for it either way.

[See If You Qualify](https://groas.typeform.com/to/xC1bQNUT)

## Structured data

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://graph.groas.com/entity/groas","name":"groas","url":"https://groas.com/","logo":{"@type":"ImageObject","url":"https://groas.com/icon-512.png","width":512,"height":512},"sameAs":["https://www.linkedin.com/company/groas/"]},{"@type":"WebSite","@id":"https://groas.com/#website","name":"groas","url":"https://groas.com/","inLanguage":"en-US","publisher":{"@id":"https://graph.groas.com/entity/groas"}},{"@type":"WebPage","@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#webpage","url":"https://groas.com/post/before-you-resell-aeo-software-a-30-day","name":"Before You Resell AEO Software, Run This 30-Day Holdout Test","description":"Test white-label AEO software across three client domains and one holdout. Freeze the prompts, inspect what the tool ships, and calculate whether the retainer works.","inLanguage":"en-US","isPartOf":{"@id":"https://groas.com/#website"},"about":{"@id":"https://graph.groas.com/entity/groas"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/5cf4fad4-eaed-4099-a93f-dd951a35f560.png"},"breadcrumb":{"@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#breadcrumb"},"dateModified":"2026-10-19T05:28:08.861Z","mainEntity":{"@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#article"}},{"@type":"BreadcrumbList","@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://groas.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://groas.com/blog"},{"@type":"ListItem","position":3,"name":"Before You Resell AEO Software, Run This 30-Day Holdout Test","item":"https://groas.com/post/before-you-resell-aeo-software-a-30-day"}]},{"@type":"BlogPosting","@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#article","url":"https://groas.com/post/before-you-resell-aeo-software-a-30-day","mainEntityOfPage":{"@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#webpage"},"isPartOf":{"@id":"https://groas.com/blog#blog"},"headline":"Before You Resell AEO Software, Run This 30-Day Holdout Test","description":"Test white-label AEO software across three client domains and one holdout. Freeze the prompts, inspect what the tool ships, and calculate whether the retainer works.","datePublished":"2026-10-19T05:28:08.474Z","dateModified":"2026-10-19T05:28:08.861Z","image":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/5cf4fad4-eaed-4099-a93f-dd951a35f560.png"},"author":{"@id":"https://groas.com/author/alexander-perelman#person"},"publisher":{"@id":"https://graph.groas.com/entity/groas"},"keywords":"holdout, before, test, week, aeo, software, domains, aeo software","wordCount":1979,"inLanguage":"en-US"},{"@type":"Person","@id":"https://groas.com/author/alexander-perelman#person","name":"Alexander Perelman","jobTitle":"Head Of Product @ groas","description":"My background includes Goldman Sachs and Stanford Computer Science.","image":"https://groas.com/media/blog/4f17cac3a81acc224cc1b2cfab8f94bbc295a3089d13e8421125771ef8d4064f.jpg","worksFor":{"@id":"https://graph.groas.com/entity/groas"},"sameAs":["https://www.linkedin.com/in/alexander-433793253/"]},{"@type":"FAQPage","@id":"https://groas.com/post/before-you-resell-aeo-software-a-30-day#faq","mainEntity":[{"@type":"Question","name":"How do I tell if an AEO tool actually earns citations or just reports on them?","acceptedAnswer":{"@type":"Answer","text":"Run the vendor on three client domains for 30 days and check whether it pushes content, technical fixes, and external references live, or whether your account managers still do that work. If your team researches prompts, writes pages, and pursues citations, you have bought a diagnostic tool and should price and staff it accordingly."}},{"@type":"Question","name":"Why does testing white-label AEO software need a holdout domain?","acceptedAnswer":{"@type":"Answer","text":"AI answers and search results shift during a test, so background movement can look like a vendor win. Keep one comparable holdout domain untouched while three treated domains run the tool, matched on organic traffic, backlink volume, and commercial intent as closely as possible. Record the differences between domains before Day 1, since the holdout is a check on drift, not a magic proof of causation."}},{"@type":"Question","name":"How many prompts should I use when testing an AEO platform, and where do I keep them?","acceptedAnswer":{"@type":"Answer","text":"Write 40 realistic buyer prompts for each domain, split evenly among category, comparison, cost, and problem-led intents, and keep them in a locked sheet outside the vendor dashboard. Freeze every prompt for the full test. This stops a platform from replacing competitive queries where the client is absent with obscure brand-adjacent ones where it appears."}},{"@type":"Question","name":"How often should I run the test prompts and across which AI engines?","acceptedAnswer":{"@type":"Answer","text":"Run each frozen prompt twice a week across ChatGPT Search, Perplexity, Gemini, and Google AI Overviews, recording the engine, prompt, date, answer, brand mention, and link for every run. That schedule produces eight observations per prompt per engine, or 1,280 answer runs per domain across the four engines over four weeks, which gives a more useful rate than one polished demo answer."}},{"@type":"Question","name":"What is the difference between a brand mention and a citation in AI answers?","acceptedAnswer":{"@type":"Answer","text":"A mention means the brand name appears in an AI answer, while a citation means the answer contains a clickable link to the client's domain. Keep the two rates separate for each domain, engine, and sampling period, because an unlinked mention is not the same referral opportunity as a linked citation. Compare rates within each engine before combining anything."}},{"@type":"Question","name":"How do I check whether an AEO platform actually executes work or just makes recommendations?","acceptedAnswer":{"@type":"Answer","text":"Keep an execution log with a timestamp, URL, and who performed the work, checking each week for pages published, technical fixes deployed, and external references verified. If live executions are still at zero after Day 14, you are testing a diagnostic platform. Count any staff hours spent drafting copy or fixing the site as labor in the cost column, not as the software's achievement."}},{"@type":"Question","name":"Will a cheap entry-tier AEO plan cover the query volume of this test?","acceptedAnswer":{"@type":"Answer","text":"Not necessarily. The test schedule requires 320 answer runs per domain per week across four engines, or 1,280 over four weeks, and entry-tier prompt allowances can be narrow. Ask whether the vendor bills for stored prompts, engine queries, workspaces, domains, or a combination, and get per-domain fees, limits, and overage terms in writing before pricing the retainer."}},{"@type":"Question","name":"How do I calculate holdout-adjusted citation lift?","acceptedAnswer":{"@type":"Answer","text":"Subtract the holdout's change in citation rate from the treated domains' change. For example, if three treated domains rise from 12% to 26% while the holdout rises from 10% to 24%, the adjusted lift is zero, whatever the dashboard claims. If the holdout only moves from 10% to 11%, the adjusted lift is 13 percentage points."}}]}]}
```
