A good AEO demo shows you a share-of-voice graph. It rarely shows you the developer ticket, the prompt overage, or the Google Doc your team still has to paste into WordPress at 11pm. I bought PPC tools off dashboards for years and learned the expensive distinction: a dashboard is not an operating model. Before putting 10 client domains on a platform, get written answers to these 22 checks. The terms that matter are onboarding without a developer, per-domain pricing without prompt caps, and whether the platform publishes and fixes or only recommends. If the vendor cannot put those answers in writing, the graph can wait.

Before the demo: price the work you actually sell

  1. Count domains, prompts, and CMSs before asking for a quote. List every client domain you expect to add in the next 90 days, the buyer prompts each needs to track, and the CMS each runs on. Use 40 prompts as a starting point for a local or niche B2B client, then request the price for 10 domains × 40 prompts across all engines and your actual CMS mix. Entry tiers can make that calculation awkward: Otterly Lite covers around 15 prompts, Peec Starter covers 50 prompts on 3 engines, and Profound Starter covers ChatGPT only (price comparison). No 10-client quote means no usable price.

  2. Decide whether your retainer promises a dashboard or a result. A monitoring tool shows share of voice and citations; your team still writes, publishes, and fixes. An execution platform writes, publishes to the live CMS, applies technical fixes, and refreshes work when citations decay (tool comparison). Put your promise next to the vendor’s deliverables before you watch the demo. If the two columns do not match, you are buying work for your team, not taking it off their plate.

Pricing and contract: protect the margin before it disappears

  1. Get the full per-domain price, not a per-prompt-per-engine teaser. Request the monthly total for 10 clients × 40 prompts, with every engine included. In one agency pricing breakdown, that scenario costs $399/month on Geoptie Enterprise, $4,089/month on Profound Agency Growth ($99 base plus $399 per workspace), and $990/month on Semrush ($99 per domain). Those are not interchangeable pricing models. If your retainer assumes a flat cost and prompts carry a meter, the difference comes out of your margin.

  2. Check the prompt cap on each domain and the price of raising it. Semrush AI Visibility Base, for example, is $99/month per domain for 25 prompts, below the 40-prompt tracker in this checklist (agency pricing breakdown). Ask for the exact cap, the price of each extra pack, and whether unused prompts roll over. Do not accept “plenty of prompts” as an answer. Write down what happens at prompt 26.

  3. Convert shared credits into buyer prompts per client. Peec AI uses shared credits: 1 credit equals 1 prompt on 1 model for 1 day. Its listed tiers are Essential at $245/month for 10,000 credits and 3 projects, Growth at $495 for 25,000 credits and 10 projects, and Scale at $795 for 65,000 credits and 25 projects (agency pricing breakdown). Ask what your 10-client tracking plan consumes and whether overage means throttling, a bill, or an upgrade. Credits are not a price until you map them to your workload.

  4. Separate seat, white-label, setup, and reporting charges. Extra users at $45/month and a $20/month Pro Report add-on are examples of how a base price grows (agency pricing breakdown). A $69 charge for scheduled branded PDFs may be tolerable; five $45 seats multiplied across 10 clients is a different calculation. If you already spend, say, $20k/month on agency payroll, do not let a tidy software quote hide another staffing bill. Get every add-on as a line item.

  5. Confirm the commitment and cancellation terms. Ask whether the contract is month-to-month or annual and paid up front. If tracking is wrong in month two or publishing stalls, you need a way out that does not become its own negotiation. If the vendor wants an annual commitment, get the discount and exit terms in writing before you sign. A cheaper month is not cheaper if you cannot leave.

Onboarding: test the week that kills the trial

  1. Time edge-proxy or DNS onboarding on one real domain. Ask whether you can connect ad accounts and a website in a couple of clicks, without a client-side code change or developer ticket (how groas connects clients). Then try your messiest WordPress client against this edge-proxy walkthrough. Record the steps and who has to perform them. A smooth sales demo is not the test; your client’s site is. If onboarding needs a developer, plan for that delay 10 times.

  2. Check every CMS you actually serve. “We support WordPress” does not answer for Shopify, Webflow, Wix, HubSpot, Ghost, or a custom site. White-label engines that auto-publish to 6 CMSs exist (publishing benchmark), so ask for a yes or no against your own CMS list, then specify whether support means publishing or merely tracking. A supported site should not become a manual publishing exception.

  3. Ask what happens when a client changes the site without telling you. A swapped landing page, removed schema block, or noindexed section should not quietly turn last week’s work into this week’s mystery. Ask whether the platform alerts you, whether citation monitoring continues or pauses, whether billing continues, and who reapplies a fix. “You will see it in the audit” means your team owns the watch duty. Make the failure path part of the demo.

  4. Require an audit before anything publishes. Ask for the starting state of campaigns, pages, technical structure, citations, and AI visibility, with gaps mapped before execution begins. Without a baseline, month-one reporting cannot show what changed or why your client is paying. A polished first report is not a substitute for the starting record. No baseline, no credible account of the work.

Execution: find out who pushes Publish

  1. Watch the platform publish to the live CMS, not export a draft. Ask who writes the page, who pushes Publish, and who refreshes it when citations decay (tool comparison). A publishing benchmark describes branded engines that auto-publish to 6 CMSs, with Yoast scoring and a rewrite loop, at $199.99–$499.99/month for 50–200 articles. Your question is simpler: does this platform publish to the CMSs on your list, or hand your team a document? Put any remaining copy-and-paste or developer hours into the per-domain price using this margin math. A draft is not a published page.

Clay inbox overflowing with draft documents while a tiny conveyor sends one finished page live

  1. Distinguish technical fixes applied from technical fixes listed. Some scans return ranked action items beside llms.txt, JSON-LD, and meta generators for your team to implement (Ayzeo scan example). groas describes execution that applies content, technical fixes, and citations. Ask the vendor directly: “Applied through the CMS, pixel, or proxy, or handed to my team?” Request three example fixes it applied last week rather than three screenshots of recommendations. An action list is another queue.

  2. Check whether citation and authority work is included. Ask how many citations or authority placements per domain per month are in the base price, which sites they target, and what triggers a refresh when a citation decays. If that work sits in a separate package, put the package in your 10-domain quote before setting your retainer. Content and citation work should not appear together in the pitch and separate on the invoice. Price the whole execution loop.

  3. Put content cadence and refresh duties in writing. Ask how many net-new pages per domain the platform produces each week, who approves them, and what happens after a client edits one. “New pages every day” is an execution promise; it is not a substitute for an agreed cadence and a refresh process. When work decays in month three, you need to know who restores it. No refresh loop means another support ticket for your team.

White-label reporting: inspect what the client will see

  1. Check your brand, your domain, and the vendor footprint in a live client view. White-label covers different things: Geoptie includes logo-and-colour PDFs and free read-only client logins; SE Ranking offers an own-domain portal but charges $69 more for scheduled branded PDFs; Otterly uses a Looker Studio workaround; Scrunch supplies API outputs; Profound and AthenaHQ do not include white-label on the agency plan (agency white-label comparison). Request a sample report and an actual client login. Screenshots cannot show what a client can click.

  2. Verify that action logs are useful and client-safe. An action log with reasoning helps only if a client can see their own changes and wins without seeing your plan, billing, settings, or other clients. Ask for a branded weekly report ready to forward, then click from that report into the portal as a client would (what agency reporting should look like). One client should see one domain, not your agency’s back office.

  3. List the engines, refresh cadence, and exports. Ask for an executive summary, rank and trend, sources, and what changed, delivered on schedule as PDF or Word, with viewer seats that hide billing (reporting standard). Then write down which engines are included and which are add-ons: a plan may include ChatGPT and AI Overviews while charging separately for Claude, Perplexity, Gemini, and Grok. Ask for the refresh cadence per engine, weekly at minimum. “Cross-engine” needs an engine list.

Exit: make the work survive cancellation

  1. Check what remains live on day one after cancellation. Name the published pages, llms.txt, JSON-LD, redirects, and proxy rules. Ask which remain, which disappear, and who removes anything that must go. If the proxy must stay connected to keep the pages live, the contract needs to say so before you sell those pages as client assets. Work that vanishes with the subscription is rented work.

  2. Require a usable reporting-history export. Ask for full prompt history, citation history, and action logs for each domain as PDF and CSV, delivered within 7 days of cancellation. “Available in the portal for 30 days” is not the same as a file you can hand a client when they ask for proof later. Exportability matters most after you lose portal access.

  3. Test offboarding without a developer ticket. Request the removal steps in writing and time them on one domain before committing 10. Check for client developer work, DNS disruption, and broken pages, not just how quickly the vendor closes the account. The onboarding demo shows how easily you can start paying; this test shows how safely you can stop. Leaving should not break the client’s site.

  4. Get client ownership of content, backlinks, site data, schema, and reporting history in the contract. Ask for the sentence that says those assets remain the client’s after cancellation (exit ownership standard). I used to tell clients a dashboard would save us. I was wrong: onboarding tickets, copy-and-paste publishing, and metered prompts ate the margin. groas is built around flat per-domain execution that publishes and fixes under your brand instead of handing your team another queue. But I would still ask for the exit sentence. Ownership is the check most often skipped, and skipping it can leave 10 clients asking what they paid for when the export expires, citations decay, or published work cannot be kept.