Open research protocol · v1.0

Source-role audits for local service businesses.

A reproducible way to review entity consistency, evidence coverage, and publisher concentration in AI answers about HVAC, plumbing, roofing, electrical, landscaping, cleaning, and similar businesses.

Published August 11, 2026 · Marketing measurement, not professional trade advice

Start with an evidence chain, not a mention count

A response may mention a business while citing a weak or irrelevant source, omit the service area, confuse two similarly named companies, or rely on one publisher for every claim. A useful local-service audit therefore records the prompt, observable answer conditions, brand and location signals, cited pages, the role each cited page plays, and the gaps a human reviewer should investigate.

This protocol does not measure service quality, prove marketing causality, or guarantee rankings. It helps a team preserve and review what was actually visible in a dated AI answer.

1. Freeze the business entity

Create a versioned entity card before collecting prompts. Use only details the business publishes and can verify.

FieldSynthetic example
Canonical business nameExample Home Services
Primary domainexample.com
Primary marketSacramento, California
Service areasSacramento, Roseville, Elk Grove
Primary categoriesHVAC repair, plumbing
Address ruleStorefront, service-area business, or intentionally hidden
Important aliasesLegal name and verified abbreviations
Excluded namesakesUnrelated companies with similar names
Synthetic example: do not copy these values into a real report. Never invent an address, service area, license, certification, review score, or years in business.

A mismatch between an answer and the frozen card is an observation for review. It should not be silently corrected in the evidence record.

2. Version prompts by buyer intent

Cover different decision stages instead of repeating the same “best company” wording.

IntentSynthetic prompt patternWhat it tests
DefinitionWhat does a heat-pump tune-up include?Whether the service is explained accurately
Local discoveryWho provides heat-pump maintenance in [city]?Whether entity and location are associated
ComparisonHeat pump versus furnace for a [region] homeWhether relevant trade-offs and sources appear
EvidenceWhat should I verify before hiring an HVAC company?Whether licensing, safety, and consumer guidance are sourced
ImplementationWhat should I prepare before a service call?Whether practical first-party instructions are available

Store the exact prompt text, prompt identifier, version, language, market, collection date, answer surface, and any visible search or browsing mode. A changed city, qualifier, or audience can change the measurement instrument.

3. Classify each citation by source role

Citation count alone does not show whether an answer has a balanced evidence chain. Assign each cited page one primary role based on what it supports in the answer.

A page can contain several kinds of information, but assign the role used by the answer. If the relationship is unclear, record unknown and send it to human review. Do not treat a directory entry, company page, review, government resource, and independent technical guide as interchangeable.

4. Preserve an observation ledger

Each row should represent one prompt run and one cited source. If an answer has no citations, retain a row with a blank citation field so the absence remains measurable.

observation_id,prompt_id,prompt_set_version,answer_surface,observed_at,market,brand_mentioned,entity_consistent,cited_url,source_role,support_status,evidence_artifact,is_synthetic
obs-001,local-discovery-01,1.0.0,Example Answer Surface,2026-08-11T20:00:00Z,Sacramento CA,true,true,https://example.org/local-guide,comparison,needs_review,https://example.org/capture/obs-001,true

The row is synthetic. Never use a placeholder capture URL in a real report. Preserve evidence only when permitted, redact personal information, and follow the applicable platform terms.

Useful support states are supports, partial, contradicts, not_found, and needs_review. Use uncertainty instead of forcing ambiguous evidence into a positive result.

5. Run five consistency checks

Service consistency

Compare the service named in the answer with the official services on the business website and verified profiles. Flag services that are missing, overly broad, or attributed to the wrong location. Do not infer a service merely because a competitor or directory places the company in that category.

Location consistency

Check whether the city, region, service area, and address type agree with the entity card. A service-area business may intentionally hide its street address. Treat that as a documented entity property, not missing data.

Entity consistency

Review the business name, domain, public phone, category, and aliases. A citation to the correct domain does not repair a wrong company name or market in the answer.

Source-role coverage

For each prompt intent, identify which evidence roles are present and absent. A local discovery answer may need entity and comparison support. A safety-oriented prompt may need evidence from an appropriate public or technical authority. More links do not compensate for a missing role.

Publisher concentration

Normalize cited hostnames and report the share supplied by the most frequent publisher:

publisher_concentration =
  citations from most frequent hostname / all cited URLs

Include the numerator and denominator. “Four of six citations came from one publisher” is more transparent than a score alone. Concentration is a review signal, not proof that an answer is unreliable.

6. Convert observed gaps into an editorial queue

Create a task only when the gap maps to a truthful asset the business can maintain.

Observed gapPossible assetGuardrail
Entity details varyCanonical location and contact pagePublish only verified details
Definition role is absentPlain-language service explainerAvoid unsupported technical or safety claims
Comparison role is absentDecision guide with explicit criteriaDo not fabricate competitor facts
Implementation role is absentAppointment-preparation checklistKeep advice within the business's competence
Evidence role is weakLink to or summarize an appropriate authorityAttribute the source and quote sparingly
One publisher dominatesSeek relevant, independent coverageNo fake reviews or community spam

The queue should include the prompt ID, missing role, supporting observation, owner, review date, and an observable success criterion. “Publish a maintenance checklist and rerun version 1.0.0 after indexing” is clearer than “improve GEO.”

7. Rerun without overstating causality

Freeze the original evidence, publish the approved asset, record its publication and indexing dates, and rerun the unchanged prompt cohort. Compare stable prompts separately from newly added prompts.

Interpretation limit: a later citation or mention is not proof that the asset caused the change. Models, retrieval indexes, competitors, interfaces, and sampling conditions can change at the same time.

Report the before and after observations, plausible alternative explanations, and uncertainty. Do not claim a guaranteed traffic, ranking, lead, or revenue outcome. Pair answer-level observations with site analytics and qualified-lead data when available, keeping correlation separate from causation.

Minimum audit report

  1. Entity-card version.
  2. Prompt-set version and exact collection window.
  3. Observable answer conditions.
  4. Prompt count and run count.
  5. Mention and citation results as separate measures.
  6. Source-role coverage by intent.
  7. Publisher concentration with counts.
  8. Unresolved entity or support conflicts.
  9. Editorial queue, owner, and review date.
  10. Limitations and next comparison date.

Use the companion observation-ledger codebook, CSV template, and JSON Schema to implement the protocol. Teams can use the method independently. Corank maintains open AI citation-evidence tools and additional AI visibility measurement guidance.