Plans & Pricing
Compare plan tiers, capability surfaces, and usage limits across the 7-tier model
Overview
AEO Optima offers seven plan tiers designed to match the shape of your team:
| Plan | Best For |
|---|---|
| Free | Curious individuals exploring AI visibility |
| Starter | Solo founders, indie marketers |
| Pro-Individual | Senior in-house marketer covering one brand |
| Pro-SME | SME marketing teams (4–15 people), small agencies (1–3 clients) |
| Enterprise-Brand | Large brand with deep internal team (15–50 people), SLA + SSO needs |
| Enterprise-Agency | Multi-client agencies with isolated client workspaces |
| Custom | Embedded white-label partnerships with custom domain + custom branding |
Only Free is self-serve. Every other tier is sales-led — pricing is offered through a conversation, not a marketing page. Reach out at hi@techshu.ai to discuss tier fit.
The snapshot budget — three numbers, not one
Capture volume is described as a triple, not a single "snapshots/month" number:
- Scheduled runs/month — predictable, recurring captures triggered by your cadence (weekly, daily, etc.)
- Ad-hoc snapshots/month — manual one-off captures triggered by an operator
- Total snapshot cap — hard ceiling. Hitting it blocks further capture unless you have overage opt-in.
This breakdown matters because the two volumes serve different needs: scheduled runs underwrite the regular monitoring story; ad-hoc covers spikes for investigation, launches, competitor reactions.
| Resource | Free | Starter | Pro-Individual | Pro-SME | Enterprise-Brand | Enterprise-Agency | Custom |
|---|---|---|---|---|---|---|---|
| Runs/month (scheduled) | 4 | 12 | 30 | 90 | 300 | 600 | unlimited |
| Ad-hoc snapshots/month | 20 | 100 | 250 | 500 | 2,000 | 5,000 | unlimited |
| Total snapshot cap | 100 | 2,000 | 13,000 | 110,000 | 1,000,000 | 2,000,000 | negotiated |
Capability + Quota matrix
| Capability | Free | Starter | Pro-Individual | Pro-SME | Enterprise-Brand | Enterprise-Agency | Custom |
|---|---|---|---|---|---|---|---|
| Projects | 1 | 2 | 3 | 8 | 25 | 50 | unlimited |
| Brands tracked | 1 | 2 | 3 | 8 | 25 | 50 | unlimited |
| Prompts/project | 10 | 50 | 150 | 300 | 500 | 500 | unlimited |
| Prompt groups/project | 1 | 2 | 3 | 8 | 25 | 50 | unlimited |
| Models/run | 2 | 3 | 4 | 6 | 6 | 6 | 6 |
| Locations/run | 1 | 1 | 2 | 4 | 8 | 8 (per client) | unlimited |
| Languages/run | 1 | 1 | 2 | 3 | 6 | 6 (per client) | unlimited |
| Multi-cadence per group | — | — | — | Yes | Yes | Yes | Yes |
| Cadence options | weekly | daily/weekly | daily/weekly | +biweekly/monthly/custom | all | all + per-client | all |
| Proxy bandwidth/month | 0 | 0.5 GB | 2 GB | 10 GB | 50 GB | 100 GB | negotiated |
| Team members | 1 | 2 | 3 | 10 | 50 | 100 | unlimited |
| Project-level roles (V/E/X/A) | — | — | — | Yes | Yes | Yes + client-tier | Yes |
| Client workspaces (Agency) | — | — | — | — | — | Yes (10 default) | unlimited |
| AI Analysis/day | 0 | 0 | 5 | 20 | 100 | 100 | unlimited |
| GEO Audit/month | 0 | 0 | 3 | 10 | 50 | 50 | unlimited |
| Alert rules | 1 | 5 | 10 | 25 | 100 | 100 | unlimited |
| Webhook endpoints | 0 | 0 | 0 | 5 | 20 | 50 | unlimited |
| Connectors | 0 | 0 | 0 | 3 | unlimited | unlimited | unlimited |
| MCP access | — | — | Read-only | Read+Write | Read+Write+5 OAuth | Read+Write+10 OAuth | Read+Write+unlimited |
| Scheduled reports | — | — | Monthly | Weekly | Daily | Daily + per-client | Custom |
| Report sharing links | 0 | 3 | 10 | 25 | 100 | 200 | unlimited |
| Data retention | 7 days | 30 days | 60 days | 90 days | 1 year | 1 year | custom |
| GA4 / GSC integration | — | — | One of 2 | Both | Both | Both | Both |
| SSO (SAML) | — | — | — | — | Yes | Yes | Yes |
| Audit log export | — | — | — | — | Yes | Yes | Yes |
| Custom branding (PDF logo) | — | — | — | — | Brand logo | Agency logo + per-client | Full custom |
| Custom domain | — | — | — | — | — | — | Yes |
| SLA | None | Best-effort | 99% | 99.5% | 99.9% written | 99.9% written | Custom |
V/E/X/A capabilities (Pro-SME and above)
Pro-SME, both Enterprise tiers, and Custom support project-level roles that scope what a user can do inside a project:
| Role | V | E | X | A | Use case |
|---|---|---|---|---|---|
| Project Viewer | ✓ | Stakeholder seeing reports | |||
| Project Editor | ✓ | ✓ | Marketer configuring prompts and groups (cannot spend money) | ||
| Project Executor | ✓ | ✓ | ✓ | Operator who runs ad-hoc captures and AI analysis | |
| Project Admin | ✓ | ✓ | ✓ | ✓ | Project lead — sets cadence, budget cap, manages members |
- V (View) — read snapshots, runs, prompts, prompt groups, reports, alerts
- E (Edit) — add/edit prompts, define prompt groups, edit alerts, edit project settings (non-budget, non-member)
- X (Execute) — trigger ad-hoc runs, ad-hoc captures, ad-hoc AI analysis, ad-hoc GEO audit (each one a discrete cost event)
- A (Admin) — change run cadence (recurring spend commitment), set budget cap, set overage opt-in, manage project members
Lower tiers (Free, Starter, Pro-Individual) keep the simpler org-level role model only.
Shape drift — what it is, what to do about it
Runs of the same project remain "apples-to-apples comparable" only while they share the same full shape: the same set of prompts, models, locations, and languages. When you add/remove/edit any of those mid-period, runs after the change have a different full_shape_hash and are not strictly comparable to earlier ones.
The platform handles this honestly:
- Period reports flag shape-drift periods explicitly: "Shape changed on May 14 — comparison from May 1–14 used Shape A; May 14–30 used Shape B."
- Run-vs-run diff computes the intersection: "Run #18 vs #17 — comparable on 58 of 60 prompts; 2 prompts added on May 14 are excluded from this comparison."
- Paused prompts appear as explicit gaps in the comparison view, not silent zeros.
The recommended workflow when you must reshape: capture one final run on the old shape, mark the change with a project annotation, then start the new shape. The annotation surfaces in every downstream report.
Pay-per-use overage
When a customer hits their hard cap, they don't get blocked — they get a pay-per-use overage at fully-loaded cost-plus margin. Overage is opt-in: customer must set overage_enabled: true on their project budget settings. Default off. When off, hitting cap blocks further usage with a friendly upgrade tooltip.
Overage applies to: snapshots beyond cap, proxy bandwidth beyond cap, AI analysis beyond cap, GEO audit beyond cap, report generation beyond cap.
Quota Behavior
When you reach a usage limit, the platform prevents additional usage of that resource until the quota resets or you upgrade your plan (or opt in to overage where supported).
What happens when you hit a limit
- API requests return HTTP
429 Too Many Requestswith aQuotaErrorthat includes the resource name, current count, and limit. - UI actions display an inline error explaining the limit and suggesting an upgrade.
- Feature-gated actions return HTTP
403 Forbiddenwith aFeatureDisabledErrorif the feature is not available on your plan.
Reset periods
| Resource | Resets |
|---|---|
| Snapshots per Day | Daily at midnight UTC |
| AI Analyses per Day | Daily at midnight UTC |
| GEO Audits per Month | First of each month |
| Report Generations per Month | First of each month |
| Run / Ad-hoc / Proxy budgets | First of each month |
| Projects, Team Members, Alert Rules | No reset — count of active resources |
Unlimited resources
Resources marked unlimited internally use the sentinel -1 and have no enforced cap.
Override Layers
Limits and features can be customized at two levels beyond the plan defaults:
-
Organization overrides — Platform administrators can adjust any limit or feature for a specific org without changing its plan tier. The full
PlanLimitsandFeatureFlagsshapes are overrideable. -
Project overrides — Within an org, individual projects can have their own limit and feature overrides. Useful when one project needs higher capacity than others. Only project-scoped resources support this (prompts/project, snapshots/day, alerts, AI analyses/day, GEO audits/month, building blocks, schedules/project).
The effective limit is resolved in order: plan defaults → organization overrides → project overrides. Most specific override wins.
How to Upgrade
- Navigate to Settings → Plan & Billing from the sidebar.
- Review the available tiers and their capability cards.
- Free is self-serve. For every other tier, click Talk to us — the platform team will configure your tier directly.
Downgrades are also routed through the team to ensure stored data, integrations, and webhooks are handled gracefully (some data may exit retention sooner under a lower tier's window — see the data-retention column above).
Legacy tier values
The two legacy enum values professional and enterprise still exist in the database for backwards-compatibility and map to the new tiers:
professional→ Pro-SME (same limits + features)enterprise→ Enterprise-Brand (same limits + features)
Existing customers on those legacy values continue working unchanged until they're manually re-tiered to the new name by the platform team. New customers always provision into the new 7-tier names directly.
Related Docs
- Roles & Permissions — V/E/X/A capability model details
- Cost Tracking — Monitor API usage costs across your organization
- Reports — Generate and share AI Brand Intelligence reports
- Webhooks — Deliver events to external systems
- Connectors — Third-party integrations