AEO Optima Docs
Features

Goal-Based Planning

Set visibility targets, track progress with milestones, and get pace indicators

Overview

Goal-Based Planning lets you set concrete visibility targets for your project and track progress toward them over time. Instead of watching metrics passively, you define where you want to be — a target visibility score, citation count, or sentiment level — and the system computes milestones, evaluates your pace daily, and warns you when a goal is at risk.

Goals are per-segment, so you can set different targets for branded queries vs. non-branded discovery vs. competitor head-to-head prompts. Each goal includes a feasibility assessment based on your current baseline and industry benchmarks, auto-computed milestones on a front-loaded curve, and daily progress evaluation with pace indicators.

How It Works

Dynamic Trigger

Goal-based planning does not appear until you have something to plan against. The GoalPromptCard surfaces automatically on the dashboard after your first capture completes and a baseline metric exists. This ensures every goal starts from a real measurement, not a guess.

Per-Segment Goals

Each goal targets a specific prompt segment:

SegmentWhat It Covers
AllAggregate across every prompt in the project
BrandedPrompts that mention your brand name
Non-BrandedOrganic discovery prompts — the most important segment for growth
CompetitorHead-to-head comparison prompts

You can have separate goals per segment. A common setup is a conservative branded target (maintain current position) alongside an ambitious non-branded target (grow organic discovery).

Auto-Computed Milestones

When you create a goal, the system computes intermediate milestones between your baseline and target using a front-loaded curve. This means early milestones are closer together (faster expected progress at the start) and later milestones are spaced wider (acknowledging diminishing returns as you approach the target).

Daily Progress Evaluation

A cron job evaluates all active goals daily. For each goal, it:

  1. Fetches the latest metric value for the goal's segment
  2. Computes pace against the timeline
  3. Updates milestone statuses (achieved, missed, or pending)
  4. Logs the progress entry
  5. Generates intelligence insights if the goal is at risk

Available Metrics

Goals can target any of these metrics:

Metric KeyWhat It Measures
visibility_scoreOverall visibility percentage across all models
visibility_brandedVisibility on branded prompts specifically
visibility_nonbrandedVisibility on non-branded (organic discovery) prompts
citation_countNumber of citations linking back to your pages
sentiment_scoreAverage sentiment across AI-generated responses
model_coveragePercentage of tracked AI models that mention your brand
factual_accuracyAccuracy of factual claims about your brand in AI responses

Each metric is evaluated against the same segment filter applied to the goal, so a visibility_score goal scoped to branded only considers snapshots from branded prompts.

Setting Goals

Accessing the Goal Setter

When the GoalPromptCard appears on your dashboard (after your first capture with a valid baseline), clicking it opens the GoalSetter drawer. You can also access it from the Analytics section.

Benchmark Context

The GoalSetter shows benchmark context to help you set realistic targets:

BenchmarkDescription
Industry averageMean score across projects in your industry vertical
Median50th percentile — half of projects score above this
P7575th percentile — top quartile threshold
Your percentile rankWhere your current baseline falls relative to the benchmark population

Feasibility Assessment

After you enter a target value and deadline, the system evaluates feasibility:

AssessmentMeaning
AchievableThe target is within normal improvement range given your baseline and timeline. High likelihood of success with consistent effort.
AmbitiousThe target requires above-average improvement velocity. Achievable but demands focused optimization work.
Very AmbitiousThe target requires exceptional improvement. Consider extending the deadline or lowering the target unless you have a specific strategy in mind.

The assessment factors in your current baseline, the gap to target, the timeline, and historical improvement rates observed across the platform.

Milestone Computation

Front-Loaded Curve

Milestones follow a front-loaded curve defined by:

milestone_progress = 1 - (1 - linear_progress)^1.5

This curve front-loads progress: early milestones expect faster gains (when optimization efforts have the most impact), while later milestones allow more time (acknowledging that gains become harder as you approach the target).

Milestone Spacing and Limits

  • 1 milestone approximately every 3 weeks between goal start and deadline
  • Maximum 6 milestones per goal, regardless of timeline length
  • Each milestone has a target value (interpolated on the curve) and an expected date

Milestone Statuses

StatusMeaning
AchievedThe metric reached the milestone value on or before the expected date
MissedThe expected date passed without the metric reaching the milestone value
PendingThe expected date has not yet arrived

Milestone status is evaluated during the daily progress cron. A missed milestone does not cancel the goal — it updates the pace indicator and may trigger an at-risk insight.

Progress Tracking

Pace Status

The daily evaluation assigns one of four pace statuses:

StatusMeaning
AheadCurrent metric value is above where the curve expects you to be at this point in time
On TrackCurrent metric value is within an acceptable range of the expected curve position
BehindCurrent metric value is below expected. You need to accelerate to hit the target by deadline
At RiskCurrent metric value is significantly behind expected, or multiple milestones have been missed. The goal is unlikely to be met without intervention

Scope Change Detection

If your project's prompt count changes by more than 20% after a goal is created (e.g., you add a large batch of new prompts or remove a segment), the system flags a scope change. Scope changes affect baseline assumptions — a visibility score computed over 50 prompts is not directly comparable to one computed over 100. The flag helps you decide whether to adjust the goal or acknowledge the new baseline.

Forecasted Value

The progress tracker computes a forecasted value at deadline using linear extrapolation from your progress log. This gives you a simple projection: "At your current rate, you will reach X by the deadline." Compare this to the target to see whether your pace is sufficient.

Daily Progress Log

Every daily evaluation appends an entry to the goal's progress log:

  • Date of evaluation
  • Current metric value
  • Expected value (from the front-loaded curve at this point)
  • Pace status
  • Forecasted value at deadline

The log provides a complete history of how the goal progressed over time, useful for retrospectives and for understanding what interventions worked.

Intelligence Integration

Goal-at-Risk Insights

When a goal's pace status moves to at_risk, the intelligence engine automatically generates a goal_at_risk insight. This insight includes:

  • Which goal is at risk and by how much
  • The current vs. expected metric value
  • Suggested actions based on the metric type (e.g., "Add more non-branded prompts" for a visibility goal, "Review negative sentiment snapshots" for a sentiment goal)

Narrative Strip

Goal progress is included in the dashboard's narrative strip, providing a natural-language summary: "Your non-branded visibility goal is on track — 62% of the way to your target of 75% by June 15."

Action Attribution

Goals can be linked to actions (from the Insights system). When you take an action that the platform recommended, and your goal metric subsequently improves, the system can attribute the improvement to that action. This closes the feedback loop between "what should I do" and "did it work."

MCP Tools

Three MCP tools are available for programmatic goal management:

ToolDescription
list_goalsReturns all goals for a project, with current progress, pace status, and milestone states
create_goalCreates a new goal with metric, target value, deadline, and optional segment filter
update_goalUpdates an existing goal's target, deadline, or status (e.g., mark as completed or cancelled)

Example: Create a Goal

{
  "tool": "create_goal",
  "arguments": {
    "project_id": "proj_abc123",
    "metric": "visibility_score",
    "segment": "non-branded",
    "target_value": 75,
    "deadline": "2026-07-15",
    "name": "Q3 Non-Branded Visibility Target"
  }
}

Example: List Goals with Progress

{
  "tool": "list_goals",
  "arguments": {
    "project_id": "proj_abc123"
  }
}

Response includes each goal's current value, pace status, milestones, forecasted value, and scope change flags.

Webhook Events

Two webhook events are dispatched for goal lifecycle changes:

EventFires When
goal.createdA new goal is created. Payload includes the goal definition, baseline value, computed milestones, and feasibility assessment.
goal.at_riskA goal's pace status moves to at_risk. Payload includes the goal, current vs. expected value, missed milestones, and forecasted value at deadline.

Configure webhook endpoints in Settings → Webhooks to receive these events. See Webhooks for setup details.

Plan Requirements

Goal-Based Planning is available on all plans.