Docs · 6 min read

Verification and results

How Serpkin checks that a change is right before and after you deploy, and how it measures what happened in search afterwards.

Updated · By the Serpkin team

In short

  • Serpkin verifies a mission itself, on preview, production or evidence, against the mission's acceptance checks.
  • A verification passes only when every required check passes; failed checks say what they observed.
  • After a pass, Serpkin takes a baseline and measures at 14 and 28 days, then marks the mission completed.
  • Results compare your changed pages with similar pages you didn't change, and are labeled as correlation, not proof.

Serpkin doesn't take your agent's word that a mission is done. Verification means Serpkin checks the change itself, on the environment you name, against the mission's acceptance checks. After a mission passes, Serpkin measures what happened in search at 14 and 28 days and compares it with similar pages you didn't change. This page explains both halves.

The three verification environments

Where Serpkin checks a mission, and what passing means
EnvironmentWhat Serpkin checksPassing means
PreviewThe mission's checks against your preview deploy URL, before you mergeThe change is right on the preview (preview verified)
ProductionThe same checks against your live site, after you deployThe change is live and correct (production verified)
EvidenceThat the data behind the mission is still fresh, and for content and Search Console missions, the page checks on the live siteThe work matches the evidence; used for content, research and link missions

Technical and foundation missions are usually verified on preview and then production. Content missions, such as a new page or a refresh, are verified with the evidence environment, which runs their page checks on the live site: for example that the page answers the questions from its brief, that its FAQ markup is valid, or that the links the mission asked for exist.

How your agent asks for it

Your agent submits the change with serpkin_submit_result, then calls serpkin_verify_mission with the environment. In Claude Code, /serpkin:ship <preview-url> does the submit, the preview check and the preview verification in one step. You can also ask in plain words:

Ask your agent
Verify the mission on production now that it's deployed.

Pass, fail or incomplete

Every check has an outcome, and the mission takes the combined result:

Passed

  • Good: Every required check passed on the environment
  • Good: The mission is marked verified on that environment
  • Good: A production pass starts the result measurement

Failed or incomplete

  • Problem: Failed: at least one check failed; each check says what it observed
  • Problem: Incomplete: nothing failed, but a check couldn't run or needs a person
  • Fix what was reported and verify again; nothing is lost
A verification passes only when every required check passes; any failure fails it

Workspaces can also require human editorial acceptance for content missions. When that setting is on, a content mission only passes evidence verification after someone has reviewed its acceptance criteria in the app.

How results are measured

  1. 1VerifiedProduction verified for technical fixes; evidence passed for content, links and research.
  2. 2BaselineClicks, impressions or positions for the target pages and queries, plus a control group.
  3. 314 daysFirst measurement. The mission shows as measuring.
  4. 428 daysSecond measurement. The mission is completed.
After a mission passes, Serpkin takes a baseline and measures twice, against pages you didn't change

With Search Console connected, Serpkin measures your own clicks and impressions. Without it, it uses rank checks on the mission's target queries. If neither is available, the result says measurement is unavailable rather than guessing.

Compared with pages you didn't change

Search moves for many reasons: seasons, Google updates, competitors. So Serpkin compares the change on your target pages with a control group: similar pages on the same site that you didn't touch, matched by their baseline impressions and position. When too few pages match, it compares with the rest of the site. The net effect is the target's change minus the control's change.

How to read a result
FieldWhat it means
Target changeHow the mission's pages or queries moved between the baseline and this measurement
Control changeHow similar pages you didn't change moved over the same period
Net effectThe target change minus the control change
ConfidenceLow, Medium or High, based on the size of the data, the control group and how noisy it is

Correlation, not proof

A good net effect means the pages you changed did better than similar pages you didn't. It doesn't prove the change caused it, and a flat result doesn't mean the change was wrong: search impact can take longer than 28 days. Serpkin labels every result this way and never promises rankings or traffic. Use results to see which kinds of missions work on your site, not as a guarantee.

Results appear on the Results page in the app, and verified missions show up in the weekly email. Your agent can read results with serpkin_get_results. See Site watch for what Serpkin keeps checking after the measurement ends.

Questions

Why did verification fail on my preview?

Most often the preview is behind deployment protection and returns HTTP 401 or 403. Allow Serpkin through it, or verify on production after you deploy.

Can I verify again after a failure?

Yes. Fix what the failed checks reported and run the verification again. The mission keeps its history.

Let your agent do the SEO work.

Serpkin finds the next fix from real search data, hands it to Claude Code, Codex or Cursor, and checks it after you ship.

npx serpkin
Start free