How Agencies Run GEO for Their Clients: The Complete Workflow
The repeatable agency workflow for generative engine optimization: one project per client market, a prompt set in the market's language split into branded and unbranded, a baseline within a day, the first visibility gaps shared with the client in week one, and an improvement loop driven by your AI assistant and a site scanner. Here is each step, with what to show the client and when.
Table of Contents Expand
1. Why GEO Is Now an Agency Service
Your clients' buyers have changed where they ask. In the 2026 AI-Search Adoption Survey by Orbit Media, 37 percent of consumers said they now start searches with AI instead of a search engine, and the share grows with every survey wave. Sooner or later every client asks the same question: "Why does ChatGPT recommend our competitor and not us?"
That question is an opportunity, because it has the same shape as the SEO work agencies already sell: measure, find the gaps, prioritize, improve, report. What has been missing is a workflow that is operational rather than theoretical. This post is that workflow. It is the process we see working across the agencies on Ayzeo, from the first client project to the monthly report, and every step names the concrete deliverable the client sees.
One framing decision before step one: GEO is not a one-time audit. AI answers move with every model update, every new competitor page and every shift in the sources the engines read. The service you are building is a monitoring and improvement retainer, and the workflow below is built for that.
2. Step 1: One Project per Client Market
In Ayzeo, a project is one brand in one market: one domain, one region, one language. Creating a project asks for the region and language up front, because both change what the AI engines answer. A buyer in Munich asking for project management software gets different recommendations, different sources and often different competitors than a buyer in Chicago asking the same thing in English.
For agencies this means a simple rule: one project per client market, not one project per client. A client that sells in Germany and France is two projects. A client with one market is one project. Name them so your project list reads like your client list: "Acme DE", "Acme FR", "Brightline US".
- Different market, different answers. The engines answer from the market's point of view: local retailers, local review sites, local competitors. A blended project would average numbers that have nothing to do with each other.
- Different language, different prompts. Prompts live in the language buyers actually use. German buyers ask in German, and the answers they get are built from largely German sources.
- Different competitor set. The competitor ranking in each project reflects who the engines actually name in that market. The fight in France is rarely the same lineup as the fight in the US.
When do two same-language countries need two projects? Split when the buying market differs: different retailers, different pricing, different local players. A US and a UK project for the same brand usually see different answers; a generic "English" project would hide that.
3. Step 2: Build the Prompt Set
Prompts are the questions you track: the things the client's buyers ask an AI assistant on the way to a decision. During project setup Ayzeo reads the client's site and generates a starter set for their industry, in the project's language. Treat it as a draft, then refine it with the client, because they know the questions their sales team hears every week.
A good client prompt set covers five intents:
- Category: "best CRM for small businesses"
- Use case: "how do I automate follow-up emails for leads"
- Comparison: "HubSpot vs Salesforce for a 10-person team"
- Alternatives: "alternatives to Salesforce for startups"
- Local or vertical intent, where it applies: "best CRM for real estate agents in Texas"
Resist the urge to track everything on day one. Twenty focused prompts you can act on beat eighty you cannot. The Pro plan includes 40 tracked prompts per project, and you can add more in packs when a client needs deeper coverage, so start with the prompts closest to revenue and grow the set as the engagement grows.
4. Step 3: Split Branded and Unbranded with Tags
Before the first results come in, tag every prompt as branded or unbranded. A branded prompt names the client ("is Acme good for small businesses"); an unbranded prompt does not ("best invoicing software for freelancers"). This single split changes how honest your reporting is.
When an assistant is asked about Acme, it talks about Acme. Branded prompts therefore mention the client almost every time, and a prompt set that mixes both kinds inflates the mention rate without anyone noticing. Unbranded prompts are the real fight: the client earns every mention there against the whole market.
Tags make the split operational. Filter the dashboard by the unbranded tag and you see the competitive picture; filter by branded and you see how the engines talk about the client when asked directly, which is where sentiment and accuracy problems show up. Report the two numbers separately to the client and say why. Agencies that explain this split in the kickoff call build more trust than agencies that present one blended number, and Ayzeo is built the same way: the average mention position metric detects branded prompts from the prompt text and leaves them out by design, because being named first in your own branded answer is not a ranking achievement.
Tags are not limited to this split. Product lines, funnel stages and campaign themes all work as tags, and on the Pro plan every analytics view can be filtered by them. But branded versus unbranded is the one split every client project should have from day one.
5. Step 4: Read the Baseline
The first results arrive the same day the project goes live, and from then on the answers refresh several times a week on the Pro plan. Four numbers and one table carry the baseline:
- Mention rate: in how many of the tracked answers the client appears at all. This is the headline number.
- Citation rate: how often the client's own pages are actually used as sources. A brand can be mentioned from third-party coverage while its own site is invisible to the engines; this number catches that.
- Average mention position: when the client is named, how early in the answer. Being the seventh name in a list is not the same as being the first.
- Sentiment: how the answers talk about the client when they do.
- The competitor ranking: every brand the engines name across the client's prompts, ranked. This table is where most kickoff conversations happen, because it shows who actually owns the category answers, and it regularly surprises clients.
A gap, concretely, looks like this: an unbranded prompt close to revenue, zero mentions of the client across every engine, and the same two competitors named in nearly every answer. That is a priority. A prompt where the client already leads is a defend. A prompt where nobody from the category is named consistently is an open field.
Read the baseline per engine, too. It is common for a brand to be solid in ChatGPT and missing in Perplexity, or visible in Google's AI Overviews and absent everywhere else, because the engines read different sources. Those differences become your per-engine to-do list in step six; for AI Overviews the fixes are mostly classic search work.
6. Step 5: Share Gaps and Priorities with the Client
Do not wait until you have improved anything. The baseline itself is the first deliverable, and sharing it in week one does two things: it proves the engagement is measuring something real, and it lets the client help you prioritize. The format that works is short: the three to five priority prompts, the topic behind each one, who gets named instead of the client, and what you propose to do about it.
"Topic behind the prompt" is the part agencies skip and should not. A gap on "best project management tool for construction teams" is not about that one sentence; it stands for a topic the client has no answerable presence on. The prompt is the evidence, the topic is the work.
Two ways to put the numbers in front of the client, and most agencies use both:
- Invite the client as a viewer. Every paid plan includes unlimited seats. A viewer sees the live dashboard of their own project, and only their own project, and can change nothing. For a client with three markets, invite them to each of the three projects and they see exactly those; invite at the project level, not the organization level.
- Send a white-label report. On the Pro plan every exported report carries your agency's name, logo, brand color and footer text, with the competitor benchmark and the citation analytics inside. The client sees your brand on the work, which is the point of an agency service.
If you want the live dashboard itself to carry your branding too, that exists as the White-Label Dashboard add-on; the white-label guide for agencies covers both levels and the pricing math, so we will not repeat it here.
7. Step 6: The Improvement Loop with Your AI Assistant
This is where the workflow stops being a reporting exercise. Ayzeo ships an MCP server on the Pro and Enterprise plans, which means your AI assistant, whether that is Claude, ChatGPT or any other MCP-capable system, can connect to your Ayzeo account once and then work with every client project you are a member of. Your assistant can pull any client's numbers, compare markets for the same brand, and answer portfolio questions like "which client lost visibility this week" in one prompt.
The connection carries two things that turn the assistant from a data reader into a GEO operator:
- The GEO playbook. Ayzeo maintains a curated set of GEO recommendations per engine: what measurably improves visibility in ChatGPT is not identical to what works for Perplexity or Grok. The playbook is versioned, each recommendation is stamped with the model version it was last validated against, and your assistant reads it directly. So instead of applying generic advice from a six-month-old article, the assistant works from recommendations that are maintained against the engines as they are today, applied to the client's actual gaps.
- The site scanner. The advanced scan checks each client site for the basics that decide whether engines can read and trust it: structure, metadata, structured data, llms.txt, machine readability, with concrete drafts for what is missing. URL Health, included in Pro and Enterprise, additionally watches every link to the client's site that appears in AI answers and flags the ones that lead nowhere, because an engine recommending a dead page is worse than no mention at all.
The loop, per client, looks like this: the baseline names the gap, the playbook says what works for the engine where the gap lives, the scanner says what is broken on the site itself, your team executes, and the next scans show whether it moved. Repeat. That loop is the retainer.
If you have not connected an assistant before, the MCP server guide walks through it, and the GEO playbook page shows the method end to end with copy-paste prompts your team can start from.
8. Step 7: Set the Cadence
GEO rewards rhythm over heroics. The cadence that works per client:
- Weekly, ten minutes: open the project, check movement on the priority prompts, scan the competitor ranking for new names, and look at which sources the engines started or stopped using. Anything notable goes in the next client call, not a separate email.
- Monthly, automated: schedule the report once and it goes to the client on your schedule, your branding on the attached report, without anyone exporting anything. The monthly report is where you connect the work to the numbers: what was done, what moved, what is next.
- Quarterly, with the client: re-fit the prompt set. Products change, campaigns change, and a prompt set that nobody revisits slowly drifts away from what the client sells.
Set expectations in month one and the retainer defends itself: month one is baseline plus site basics, months two and three are when content work starts landing in the answers, and from then on the monthly report shows a trend rather than a snapshot. AI answers also move on their own when models update, which is an argument for the retainer, not against it: someone has to be watching when the ground shifts.
9. Step 8: Scale Across Clients
The workflow above is deliberately identical for every client, and that is what makes it scale. Onboarding client number twelve is the same five steps as client number one, and your team can run the weekly check across the whole portfolio in a morning. A few things help at scale:
- The portfolio lives in one organization. Every client project under your subscription, unlimited team seats, roles per project. Your analysts get editor access, your clients get viewer access, nobody shares logins.
- One assistant connection covers everything. The MCP connection is per account, not per project, so portfolio questions stay one question.
- WordPress clients get the plugin. For clients on WordPress, the Ayzeo plugin puts the audit, the fixes and a GEO dashboard into their own wp-admin, authenticated per site with a project token. The agency setup guide covers that path step by step.
- Pricing follows projects. Each client market is a project, and the plans price per project, so costs scale with clients rather than jumping in tiers. The white-label guide has the full margin math for a ten-client agency.
10. Frequently Asked Questions
- Q: Does each client need their own Ayzeo account?
- A: No. The projects live in your agency's organization under your subscription. A client only needs a login if you invite them as a viewer at the project level so they can see their live dashboard; viewers see only the projects they are invited to and can change nothing. Clients who just receive the branded reports need no account at all.
- Q: How many projects does a client with several markets need?
- A: One per market, where a market is a region and language combination the client actively sells in. A brand in Germany and France is two projects, each with its own prompts in the market's language and its own competitor ranking, because the AI engines answer each market differently. Split two same-language countries when the buying market differs, for example the US and the UK.
- Q: How many prompts should I track per client?
- A: Start with 15 to 25 focused prompts covering category, use case, comparison and alternatives questions, in the market's language. The Pro plan includes 40 tracked prompts per project, and prompt packs add more for clients that need deeper coverage. A smaller set you act on beats a large set you only watch.
- Q: Why should branded and unbranded prompts be tagged separately?
- A: Because they measure different things. Branded prompts name the client, and the answers mention the client almost every time, so they test accuracy and sentiment. Unbranded prompts are the competitive fight where every mention is earned. Mixing both into one mention rate inflates the number; tagging them lets you filter the analytics by either set on the Pro plan and report the two numbers separately.
- Q: How quickly can I show a client meaningful results?
- A: The baseline is ready the same day the project goes live, and sharing it with priorities is a credible week-one deliverable. Movement from your improvement work typically shows over the following weeks as answers refresh several times a week on the Pro plan; site basics land fastest, content work usually shows in the answers from the second month on.
- Q: Can I deliver all of this under my agency's brand?
- A: Yes, on two levels. White-label reports with your agency's name, logo, brand color and footer text are included in the Pro plan. The White-Label Dashboard add-on additionally puts your branding on the live dashboard your clients log in to. The white-label guide for agencies covers both levels and the pricing.
Run the First Client This Week
Create the project with the right region and language, confirm the generated prompts and tag them branded or unbranded, read the baseline the same day, and put the first gaps in front of the client by Friday. The rest of the workflow builds on that first week.
Ayzeo for Agencies
One project per client market, white-label reports, unlimited seats and an MCP connection for your whole portfolio. See the agency plans or book a walkthrough with a live setup.
Key Takeaways
- Project = client market: one project per region and language combination, never one blended project per client.
- Tag before you measure: the branded versus unbranded split keeps the mention rate honest and is the first thing to explain to the client.
- The baseline is a deliverable: gaps and priorities go to the client in week one, as a viewer invite or a white-label report.
- The loop is the retainer: gaps from the baseline, per-engine recommendations from the maintained playbook, site fixes from the scanner, executed and re-measured.
- Cadence over heroics: ten minutes weekly per client, an automated branded report monthly, a prompt-set refit quarterly.