Measure a controlled search cohort without losing its context
Defined scope
Repeated evidence
Verified decisions
Start with the tracker address, not the headline number
A Position Tracking value only has meaning inside a defined evidence address: workspace, own domain, keyword cohort, location, language, device, acquired depth, and measurement time. The tracker selector chooses the schedule whose membership and SERP context feed the reports. Crawl Foundry follows the newest visible schedule by default, so check the selector before comparing a screenshot, export, or earlier review.
The Workspace option is different. It is a fallback view across eligible measurements already stored in the workspace, not a campaign with one stable membership contract. Use a selected tracker for repeatable monitoring. Use the workspace view to find existing evidence, then narrow the investigation before calling a change comparable.
| Scope field | What it controls |
|---|---|
| Own domain | The workspace property whose organic appearances are measured. |
| Keyword cohort | A fixed direct selection or the current membership of a linked list. |
| Location and language | The requested search market and language context. |
| Device | A desktop or mobile SERP observation; one schedule can request one or both devices. |
| Depth | Top 10 or Top 100 acquisition. Missing below the acquired range is not a universal absence. |
| Window and run | Which retained measurements contribute to current values, movement, and history. |
Choose whether membership should stay fixed or follow a list
The creation flow accepts manually entered keywords or an existing Keyword Database list. Manual input is trimmed, lowercased, and deduplicated. It creates a fixed direct cohort. A hand-picked subset of a list is fixed as well. Choosing the full list creates a dynamic cohort whose membership is resolved again when a run starts, so later list edits can change the requested keyword count and estimated cost.
Saving manually entered terms as a reusable list is a separate best-effort step. The tracker can still be created when that convenience action fails. Record whether a review used direct membership or a live list because two schedules with the same label can otherwise represent different sets over time.
- Use a fixed selection for experiments, releases, migrations, and other comparisons that require a stable denominator.
- Use full-list membership when the maintained list itself defines the campaign and membership changes are intentional.
- Document additions and removals from a dynamic list beside the next comparison.
- Do not interpret a cohort-level delta until you have ruled out membership change.
Create the tracker as four explicit decisions
Direct keyword selections are SERP schedules. A list-backed schedule can also be configured for supported keyword-data packages, but the Position Tracking reports described here depend on stored rank and SERP evidence. Keep the selected data family visible when two schedules use the same list.
Move through the reports by question
The Overview is an orientation layer. A movement becomes useful only after the relevant keyword, URL, SERP context, measurement date, and run status have been opened in the appropriate detail report.
| Report | Question it can answer |
|---|---|
| Overview | Where did visibility, estimated traffic, average position, placement buckets, or the strongest rows change? |
| Rankings | Which measured keyword, position, URL, volume, tag, movement, and history support the signal? |
| Pages | Which currently ranking URLs carry the cohort, and what separate Site Audit evidence exists for them? |
| SERP features | Which supported result modules were present, and where is ownership known, absent, or unresolved? |
| Competitors | How do approved and discovered domains appear across the same bounded keyword set? |
| Cannibalization | Did several own-domain URLs appear together, did the ranking URL merely switch, or is legacy evidence insufficient? |
| Schedules | What was configured, when should it run, what happened in each run, and what did it cost? |
Read every overview metric with its denominator
Visibility is a CTR-weighted index over the loaded cohort. Position 1 receives the reference weight of 31.5 percent, positions 2 through 10 receive the product's declining curve, and positions below 10 or not ranking contribute zero. One hundred percent would mean that every loaded keyword ranks first. This is not Search Console visibility, impression share, or the visibility of the whole domain.
Estimated traffic sums known monthly search volume multiplied by the same position curve and rounds each keyword estimate. Unknown volume is not converted into a measured zero. When some rows lack volume, the displayed total is a lower bound for the loaded set; when no volume is known, the metric is unavailable.
Average position uses ranking keywords only and counts non-ranking rows separately. A smaller value is better, but the average can improve while coverage shrinks. Share of voice divides the own domain's estimated traffic by the estimated traffic of all currently compared domains over the same loaded keywords. It requires both volume and competitor evidence and is not a market-share figure.
| Overview element | Read it as |
|---|---|
| Top 3, 10, 20, 100 | Cumulative membership of each boundary, not four exclusive buckets. |
| Entered and left | Boundary changes against each keyword's previous measured day. |
| Top keywords | A sortable preview of the loaded rows, currently eight by default. |
| Top pages | A sortable preview grouped by the URL that currently ranks. |
| Updated | The newest captured time among the loaded keyword rows, not proof that every row is equally fresh. |
Understand how the daily trend is constructed
The surface currently requests a 30-day window by default, subject to the effective workspace policy. Each keyword contributes a bounded series, currently up to 30 points. The chart creates a UTC day axis between the first and last retained observation in the loaded set. If a keyword has no new measurement on a day, its last known rank is carried forward. Days before its first observation count as not ranking.
This last-observation-carried-forward model makes schedules with different collection days readable on one axis, but it does not create a measurement for an unobserved day. The line is therefore a daily presentation of retained evidence, not a promise that the provider was called every day. Current and previous positions use the latest and preceding measured day for each keyword, which may differ from a simple yesterday comparison.
- Top-placement trends show cumulative Top 3, Top 10, Top 20, and Top 100 counts.
- Visibility keeps the entire loaded cohort in its daily denominator.
- Average position excludes non-ranking rows from the mean on that day.
- Estimated traffic inherits missing-volume limits and the fixed CTR model.
- A one-day series is an observation, not a trend.
Keep device, market, depth, and competitors attached
The fact line beside the tracker names the own domain, device, language, location code, loaded keyword count, active competitor count, acquired depth, and newest loaded update when available. Treat it as part of the metric. If several stored SERP contexts are visible, the context selector can switch the report without making those contexts directly comparable.
Approved competitor domains are workspace records. Crawl Foundry compares their latest retained ranks with the own domain across the same loaded keywords and reuses the own cohort's volume values for traffic estimates. The main overview carries a bounded inline set and can load additional active competitors in bounded pages. Domains discovered in stored Top 10 results are candidates, not automatically approved commercial competitors.
Distinguish missing setup, missing data, zero, and bounded coverage
No own domain means the workspace subject is missing. A configured tracker with no captured rows means no measurement is available yet; it does not mean every keyword ranks outside the Top 100. A running banner reports dispatch or execution progress and can show fetched versus requested counts. It is not a terminal result.
The overview read model is deliberately bounded. Current defaults allow up to 100 keywords, 1,200 workspace snapshot rows, 500 scanned list members, six URLs and 30 history points per keyword, 20 active competitor records with five inline at a time, 25 visible SERP contexts, and 50 discovered domains. Effective plan or safety policy can lower these values. A truncation notice means the report describes the loaded subset, so totals and comparisons must not be promoted to workspace-wide facts.
| State | Safe interpretation |
|---|---|
| Dash or unavailable | The required input or evidence is missing. |
| Measured zero | The necessary evidence exists and the calculation returns zero. |
| Run in progress | Some or all requested work is still non-terminal. |
| Partial or failed run | Use requested, fetched, no-data, failure, and cost fields before reusing the result. |
| Truncated | The visible set is bounded and cannot prove an all-workspace total. |
| Demo | Read-only sample data for orientation, never workspace evidence. |
A created schedule and a completed first run are separate facts
Creating a new schedule stores the recurring configuration and then asks the run-now endpoint to start the first acquisition. The schedule can be created successfully even when that immediate request fails. Confirm the run ledger instead of treating the success toast or closed wizard as proof that positions were fetched.
SERP acquisition is paid external work. The setup card estimates per-run cost, expected runs per month, keyword count, per-keyword cost, monthly cost, current organization balance, and the balance after one estimated run. These are admission estimates, not final invoices or guarantees. A monthly schedule cap can stop later work, and insufficient balance can skip or pause a run. Activity and the schedule run log remain the evidence for reservation, execution, partial data, settlement, release, and failure.
Use a repeatable review routine
Call a comparison defensible only when the contract stayed comparable
A rank change says that two retained observations differ. It does not explain whether the cause was a page edit, an algorithmic shift, a changed result layout, a competitor, a location or device difference, a membership change, incomplete acquisition, or ordinary volatility. Preserve those alternatives until the evidence removes them.
Use the same tracker when possible. If you must recreate one, match normalized domain, exact direct cohort or recorded list membership, location, language, device, depth, and acquisition mode. Require terminal runs with understood coverage on both sides. Then inspect the affected URLs and SERPs, record the human decision, and measure again after implementation. Crawl Foundry supplies the measurement record; diagnosis, prioritization, approval, and outcome ownership remain with the team.