Position Zero Is a Reporting Convention

There is no position zero. Nothing in a result page is numbered zero, and nothing in Google’s own reporting calls it that. A featured snippet is a block placed above the ordered list, drawn from a page that is somewhere in that list — and the number your tracker attaches to it is a convention the vendor picked, which is why gaining one can read as an improvement, a drop, or no change at all depending on the tool.

That makes snippet ownership a thing worth tracking and a bad thing to fold into your position series.

What is actually on the page

A snippet block contains an extracted passage and a link. The linked page is a result the ranking system already selected; the block is a presentation decision layered on top of the ordering. Whether the same URL also appears in the numbered list below varies — sometimes it does, sometimes the block replaces its listing.

So a tracker looking at that page has to answer two questions that have no official answer: does the block occupy a slot in the ordering, and if the source URL is also listed below, which appearance is “the” position?

Three conventions, all defensible

Snippet owner is position one. The block is above everything, so it gets slot one and the first ordinary result becomes two. Under this rule, winning a snippet from position three shows as 3 → 1.

Snippet is zero, list numbering untouched. The block is outside the ordering, so it gets a sentinel value and the first ordinary result stays one. Winning a snippet from three shows as 3 → 0, which sorts as an improvement and computes as nonsense in any average.

Snippet is a separate attribute. The position stays whatever place the source URL holds in the list, and ownership is recorded as its own field. Winning a snippet from three shows as no position change and a flag flipping to true.

None of these is wrong. They are three answers to a question the page does not settle, which is the same reason two tools disagree about local packs and carousels — why two rank trackers disagree. The practical consequence is that you cannot compare a snippet-heavy keyword across tools, and you cannot compare it across a tool’s own convention change.

Search Console answers differently again

Search Console reports position from where your link appeared, so a snippet source is generally reported at the top of the range rather than at its place in the list, and the figure you see there is averaged over impressions anyway. Expect the gap between your tracker and Search Console to be widest exactly on the keywords where you own a feature — the mechanics of that gap are in rank tracker vs. Search Console.

Tool behaviour here changes without announcement, so treat any specific rule as true of the version you are looking at rather than permanent.

What snippets do to your series

Three shapes that are all layout events rather than ranking events:

You gain the snippet. Under the first convention, a step improvement. Nothing moved in the ordering.

You lose it to a competitor. Under the first convention, a step drop. Again, the ordering may be untouched — someone else’s passage was preferred.

The block disappears for everyone. Snippet blocks get withdrawn query-wide. Your recorded position changes because the numbering basis changed, and every tracked competitor moves the same amount on the same day, which is the tell.

Any of these will fire a threshold alert while representing no change in what the ranking system thinks of your page. Feature-owning keywords deserve their own alert treatment for that reason — rank alerts that don’t cry wolf.

Track ownership as a rate, not a state

Snippet presence is less volatile than a generated summary but it is not stable, and a current-state field discards the only useful information. Record per check: whether a snippet block existed, whether you owned it, and what form it took (paragraph, list, table). Then report ownership as a proportion of checks over a window.

The reason to keep it in a separate field rather than in the position column is that the two series answer different questions and move for different reasons. That is the same separation argument as for tracking AI overviews and where your citation sits, and the same reason position alone is a thin description of a crowded page — what position one means on a crowded result page.

What to actually do

  1. Find out which convention your tracker uses, in writing, before you read another feature-heavy keyword. It is usually a setting.
  2. Never let a snippet be a zero in an average. Either exclude it or map it to the source URL’s real place in the list.
  3. Store ownership as its own boolean plus snippet form, per check.
  4. Check competitors before treating a snippet-related move as yours. All tracked domains shifting together means the block appeared or vanished.
  5. Annotate the day you gain or lose one, because the position series has a step in it that no page change explains.