GEO-094·Issue 08·Technical Foundation·94 / 132

Citation Monitoring: Who Links to You and Who Mentions You

Backlinks, brand mentions, and AI citations are three monitors, three units. How to collapse them onto one brand ID, dedupe, and report a number you can defend.

5 min readGEOTechnical Foundationcross-border

Issue focusOff-Site Authority: Digital PR, Communities, and the Knowledge Graph

Consider a composite case. A US bike-computer brand puts three slides side by side at its quarterly review: the backlink index says referring domains are up, the mention monitor says mentions rise faster, the AI tracker says citations are up too. Every line rises; no two totals reconcile. One German review page is one row in the backlink export, three in the mention export — list page, body, cache — and two hits in the AI tracker, one prompt sampled twice. Six signals, one article, one growth curve that does not exist.

A link is another site spending its domain on you, a mention is your name in their text, an AI citation is a model using you in an answer — three monitors, three units, and they add only once every record resolves to one brand ID.

Three monitors, three questions

Folding all three into “off-site buzz” is the usual first mistake: different signals, different clocks, different failure modes.

LayerRaw signalQuestionMost common false signal
BacklinksSource and target URL, anchor, rel, first-seen dateWho can send retrievalWire copies, directory listings, paid placements
MentionsBrand, product, founder names, aliasesHow much of the corpus names meOwn accounts and site, a same-named brand
AI citationsSource URLs or brand names in an answerDid a model use meOne sampled answer counted twice, a name in a source list

Cadence alone makes one chart useless: link indexes update weekly, mentions daily, citations per sampling batch, so the steadiest layer hides the noisiest. Direction matters more. Links and mentions are inputs; citations are outputs. Watch only inputs and you cannot tell whether any of it worked; watch only outputs and, when a line drops, you cannot tell which paragraph to fix. Naming the node type is what makes the measurement land; see AI’s off-site trust network.

Add the three together and the curve is fiction

Four arithmetic failures do most of the damage.

  • Double counting. A source can link, name you, and get cited, and is still one source. By layer, one German review becomes six rows.
  • Denominator drift. Mentions double because a forum was added to the source list. Freeze the list, or report share of corpus.
  • Context loss. A correction, a warning thread, a “do not buy” post counts like praise; rows turn a crisis into reach.
  • Syndication. One announcement republished across outlets gives distinct URLs and no new information. The report improves; the answers do not.

Before merging two rows, ask: same target entity, same source URL, same time window? One “no” and they do not add — the base table a third-party corpus audit also runs on.

Deduplicate against an entity table, not a hunch

Deduplication needs an identity. Hang all three feeds off one brand_id.

FieldWhat goes in itWhere it is used
brand_idInternal unique keyPrimary key in all three exports
canonical_nameOne official spellingDisplay and matching
aliasesAbbreviations, hyphenation, former names, product-line prefixesMention matching
domainsStorefronts, market sites, help centerBacklink target collapsing
handlesSocial and marketplace accountsOfficial vs user posts
qidKnowledge graph entry, blank if noneEntity disambiguation

Then four normalizations: strip tracking parameters and anchors, fixing protocol, slash, and case; collapse subdomains to the registrable domain, but give an independent store its own row so shop. and www. stay one source; cover hyphens, diacritics, full-width characters, and local aliases in one name set; record a first sighting once per source per window, counting repeats as recurrence, not new sources.

Fuzzy matches should not auto-merge: anything past a threshold goes to a human queue with a reason logged — the only answer to “why wasn’t this counted?”

Five steps from three exports to one report

StepActionOwnerPasses when
1 Entity tableBrand, aliases, domains, handles, QIDEngineering, brandEvery alias resolves to one brand_id
2 Connect feedsBacklinks, mentions, sampled answers, one windowEngineeringEvery record has brand_id and a discovery date
3 NormalizeFour rules as a pipeline; fuzzy matches queuedEngineeringA hundred-row manual sample has no unexplained errors
4 Tag layersEarned, owned, syndicated; linked; cited in body or source listContent, growthOne bucket per record
5 Alert and reportAlerts only for action-worthy changesGrowthThe report says who was added and who was lost

Keep alerts to four classes: a new high-relevance source, your name misspelled, negative context, a competitor substituted in an answer you held. Everything else goes to the monthly report: new sources after deduplication, citation change with numerator and denominator written separately, and the review queue. That middle line is usually written badly — “citations are up” with no note that the corpus grew cannot be read as growth.

Example: one review, six records

Figures here are invented to show the arithmetic.

A German review site publishes one article at one URL. The backlink export logs one dofollow link; the mention export, three rows — list page, body, cache; the AI tracker, two citations from two rounds. Six signals.

Collapsed, one record remains: source, article, first-seen date, earned, linked, cited in both rounds. The deck changes from “six new off-site signals this month” to “one new German review source, cited in both rounds.” Only the second yields an action — send a sample unit or not. The first yields a feeling.

A comparison table cited repeatedly shows as few sources with high citation frequency; see citable assets.

Where this breaks

First, coverage is partial. Deep forum pages, private communities, voice assistants, and word of mouth stay invisible; a tool reporting zero means zero inside its index.

Second, mentions and citations are not impact. Links are inputs, citations outputs, conversion a third layer with its own definition — see share of citation.

Third, answers fluctuate. One difference is not a trend; fix the prompt set and sampling rate first.

Fourth, do not monitor your way into volume. Manufacturing mentions turns the corpus into noise, and models route around noise.

Fifth, scraping public pages has rules: respect robots directives, and under GDPR do not store personal author data without a basis.

Monitoring is a starting point, not a verdict. Its only job is to make next month less of a guess: who is talking, which sentence got used, which gap to fill. This month, build the entity table — ten aliases, three to five domains, one QID — then rerun last month’s three exports against brand_id. The duplicates you delete were noise, not growth; only the remainder needs explaining. Entry points and node priorities belong to the technical foundation; this issue opens with the trust network these monitors chart.