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
Where Goals Live
Goals have a page of their own: Goals, at /dashboard/goals. It lists every goal on the current project alongside the pace each one is keeping, and New goal opens the panel where you set one.
Set your first goal after your first capture has landed. A goal is graded against real measurements, so one created before there is a baseline has nothing to be graded against.
Per-Segment Goals
Each goal targets a specific prompt segment:
| Segment | What It Covers |
|---|---|
| All | Aggregate across every prompt in the project |
| Branded | Prompts that mention your brand name |
| Non-Branded | Organic discovery prompts — the most important segment for growth |
| Competitor | Head-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:
- Fetches the latest metric value for the goal's segment
- Computes pace against the timeline
- Updates milestone statuses (achieved, missed, or pending)
- Logs the progress entry
- Generates intelligence insights if the goal is at risk
Available Metrics
Goals can target any of these metrics:
| Metric Key | What It Measures |
|---|---|
visibility_score | Your overall Visibility Score — the same weighted composite (citation rate, mention quality, sentiment, model coverage) shown on the dashboard and Analytics page, so a target you set against the dashboard number is graded against that exact number |
visibility_branded | The Visibility Score computed over branded prompts only |
visibility_nonbranded | The Visibility Score computed over non-branded (organic discovery) prompts only |
citation_count | Number of citations linking back to your pages |
sentiment_score | Average sentiment across brand-mentioning AI responses (matches the Sentiment page) |
model_coverage | Percentage of tracked AI models that mention your brand |
factual_accuracy | Accuracy 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
Creating One
New goal on the Goals page opens a panel with six fields: the metric, the segment it is scoped to, the target value, the target date, and — both optional — a short title and any notes. Saving it computes the milestones straight away.
Feasibility Assessment
After you enter a target value and deadline, the system evaluates feasibility:
| Assessment | Meaning |
|---|---|
| Achievable | The target is within normal improvement range given your baseline and timeline. High likelihood of success with consistent effort. |
| Ambitious | The target requires above-average improvement velocity. Achievable but demands focused optimization work. |
| Very Ambitious | The target requires exceptional improvement. Consider extending the deadline or lowering the target unless you have a specific strategy in mind. |
The assessment reads your own project, not other people's: the gap between your baseline and your target, the weeks available, how much lift is still sitting in your weak prompts, and the average lift your own verified actions have already produced. Until you have verified actions to average, it falls back to a deliberately conservative estimate, which is why an early goal is graded more cautiously than a later one.
Milestone Computation
Front-Loaded Curve
Milestones follow a front-loaded curve defined by:
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
| Status | Meaning |
|---|---|
| Achieved | The metric reached the milestone value on or before the expected date |
| Missed | The expected date passed without the metric reaching the milestone value |
| Pending | The 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:
| Status | Meaning |
|---|---|
| Ahead | Current metric value is above where the curve expects you to be at this point in time |
| On Track | Current metric value is within an acceptable range of the expected curve position |
| Behind | Current metric value is below expected. You need to accelerate to hit the target by deadline |
| At Risk | Current 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)
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:
| Tool | Description |
|---|---|
list_goals | Returns all goals for a project, with current progress, pace status, and milestone states |
create_goal | Creates a new goal with metric, target value, deadline, and optional segment filter |
update_goal | Updates an existing goal's target, deadline, or status (e.g., mark as completed or cancelled) |
Example: Create a Goal
Example: List Goals with Progress
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:
| Event | Fires When |
|---|---|
goal.created | A new goal is created. Payload includes the goal definition, baseline value, computed milestones, and feasibility assessment. |
goal.at_risk | A 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.