Check this page with an assistantOpens a chat asking it to summarise this article and name the evidence behind each claim.
Claude opens with the prompt on your clipboard: Anthropic does not support prefilled prompts on the web, and we would rather copy it than ship a button that drops it.
Decisions first
Extract a repeatable Search Console page-query window and a Fathom aggregation grouped by pathname for the same dates and timezone. Preserve raw source metrics, map both to a versioned canonical-page ID, and calculate diagnostic ratios only after redirects and host variants are resolved. Use Fathom goals or events for qualified onsite outcomes, but never describe a Search Console query as the keyword for an individual Fathom visit.
- Clicks and visits are different measurements and should not be forced to match.
- Fathom API calls have product limits and can count toward monthly pageview usage; cache governed extracts.
- This workflow uses Fathom's API and is not a native SearchHandled connector.
Assign one job to each data source
Use Search Console for Google search exposure and Fathom for behavior after the page begins loading.
Search Console supplies aggregate impressions, clicks, CTR, and position by query, page, country, device, and date. Fathom can aggregate visits, unique visitors, pageviews, duration, bounce rate, referrers, UTMs, paths, and configured events. The products collect at different points, so their totals are expected to diverge.
Write the question before the query. Search Console can reveal a title-snippet opportunity; Fathom can show whether visits to that page reach a documented event. Neither source by itself proves that a content change caused a sale.
| Question | Primary source | Boundary |
|---|---|---|
| Was the page shown and clicked in Google? | Search Console | Aggregate search reporting |
| Did the page receive onsite visits? | Fathom | Client-visible analytics collection |
| Did a configured action occur? | Fathom event | Only the event definition |
| Did search create revenue? | Governed business join | Requires identity, consent, and coverage |
Build two reproducible extracts
Save the request window, timezone, filters, dimensions, credentials class, and response before transforming either dataset.
Use a site-specific or read-only Fathom API token. Group the aggregation endpoint by pathname and only the extra dimension required for the decision, because high-cardinality combinations can become expensive and difficult to interpret. Cache extracts and respect the documented per-hour and per-minute limits.
For Search Console, retain property, search type, date interval, data state, dimensions, filters, row limit, and returned rows. Its Search Analytics API can return top rows rather than an exhaustive table, so disclose that boundary instead of treating absence as zero.
- Source request JSON
- Fetch timestamp
- Reporting timezone
- Raw response checksum
- Transformation version
- Coverage and truncation notes
Make the reporting window comparable before joining data
Align dates, timezone, page scope, and freshness before comparing Search Console clicks with Fathom visits; otherwise the difference mostly measures reporting configuration.
Choose one closed reporting window, such as the previous 28 complete days, and record the timezone used to cut that window. Search Console dates use Pacific Time in its reporting interfaces and API conventions, while a Fathom site can be configured around a different business timezone. A visit near midnight can therefore belong to different dates in the two exports even when both systems recorded it correctly. Keep partial current-day data out of the control comparison and label delayed or preliminary Search Console data when it is used for operational monitoring.
Apply the same page population to both sides. If the Search Console export covers only the blog directory, filter the Fathom extract to the normalized blog paths before calculating a ratio. Record hostname policy, protocol redirects, locales, and dates when a canonical URL changed. A sitewide Search Console total compared with a campaign-only analytics view is not a discrepancy; it is two different populations. Store the inclusion rule beside the result so another operator can recreate it after a dashboard filter changes.
- Complete dates only
- Declared timezone
- Matching page population
- Canonical-change dates
- Freshness label
- Saved filter definition
Normalize page identity without erasing evidence
Map raw URLs and paths to a canonical-page ID through an effective-dated alias table while retaining the original values.
Normalize scheme and host policy, percent encoding, trailing slash, documented campaign parameters, redirects, and canonical aliases. Do not strip every query parameter: some sites use parameters for locale, product variants, search results, or other distinct experiences.
Aggregate each source independently before joining by canonical page and date window. Joining query rows directly to page analytics can multiply visit totals across every query associated with a page—a polished dashboard error that produces fictional performance.
Define the onsite outcome before calculating conversion
Treat a Fathom event as evidence only after its trigger, value, consent behavior, and release history are documented for the page decision.
Name the business action precisely: newsletter confirmation, qualified form acceptance, trial creation, or paid order. A button click is usually an interaction signal, not proof that the downstream action succeeded. Prefer a confirmation state that cannot fire on validation errors, duplicate submissions, or a page reload. If the event is client-side, test blockers, consent denial, slow navigation, and single-page route changes. If the confirmed outcome lives on the server, keep that business count separately and publish the known coverage gap rather than silently replacing it with the browser event.
Version the event definition when its trigger changes. A conversion rate that crosses two definitions should be split or annotated, because a cleaner implementation can raise or lower the count without any change in demand. Do not import revenue into Fathom unless the value, currency, refund treatment, duplicate key, and access policy are established. For most content decisions, a count of qualified outcomes plus a separately governed revenue report is clearer than attaching an estimated monetary value to every goal.
| Outcome | Preferred evidence | Failure to test |
|---|---|---|
| Lead | Accepted form or CRM record | Click with rejected submit |
| Signup | Created account | Reloaded confirmation |
| Purchase | Paid order ID | Duplicate browser event |
| Engagement | Named depth or task event | Generic time on page |
Investigate the click-to-visit gap as a range
Build a normal page-level range from several stable windows, then investigate meaningful movement instead of demanding one-to-one equality.
Start with ten stable canonical pages and at least three comparable reporting windows. For each page, retain Search Console clicks, Fathom visits, deployment dates, consent changes, redirect changes, and large campaign activity. The median click-to-visit relationship and its ordinary spread become a diagnostic baseline, not a reconciliation target. A page with five clicks and two visits is not automatically broken; tiny denominators, repeat behavior, reporting thresholds, and client-side collection make percentage gaps volatile.
When a mature page moves outside its usual range, follow the request path. Check the Google result URL, redirect chain, final canonical, status code, consent path, analytics request, blocker behavior, and Fathom site ID. Segment by device, country, and page only where both sources have enough volume. Do not solve the gap by adding individual query labels to visitor records. Search Console query data remains aggregate, and the honest bridge stops at the canonical page and agreed time window.
- Stable-page control set
- Three or more windows
- Release annotations
- Redirect and consent checks
- Minimum-volume rule
- No person-level query assignment
Model the dashboard without multiplying metrics
Keep Search Console and Fathom fact tables separate, join through a canonical-page dimension, and calculate each rate at its native grain.
A safe model has one Search Console fact table at page-query-date grain and one Fathom fact table at page-date grain. Both reference a canonical-page dimension that holds effective-dated aliases and the business page group. Calculate clicks, impressions, CTR, and position inside the Search Console table. Calculate visits, visitors, events, bounce rate, and duration inside the Fathom table. Only then aggregate both to page and reporting window for a side-by-side view. Never attach page-level visits to every query row and sum the result.
Show coverage beside outcomes: pages mapped, rows excluded, unknown paths, API truncation, extract age, and event-definition version. Use a page table for action—visibility trend, visit trend, qualified outcomes, and the next test—rather than a blended score that hides the underlying evidence. If leaders need a summary, count pages in declared states such as improve snippet, protect winner, repair measurement, or insufficient evidence. Those states remain inspectable and do not imply precision the sources cannot provide.
| Layer | Grain | Safe calculation |
|---|---|---|
| Search Console | Page + query + date | Impressions, clicks, CTR, position |
| Fathom | Path + date | Visits, visitors, events |
| Canonical map | Raw URL alias + effective dates | One page identity |
| Decision view | Canonical page + closed window | Side-by-side evidence |
Keep the bridge privacy-limited
Use aggregate page evidence, least-privilege credentials, bounded retention, and documented consent behavior; the analysis does not require identifying a visitor.
Give the extraction job only the Fathom site and Search Console property it needs, and keep tokens in a server-side secret store. Do not send raw exports to a spreadsheet or automation account with broader access than the operators reviewing the result. Remove unnecessary URL parameters before reporting, especially values that can contain emails, order references, search terms, or customer identifiers. Preserve the raw value only in a tightly controlled quarantine when it is required to repair the mapping, then delete it under a written retention rule.
Document how the site behaves before consent, after refusal, and after consent is withdrawn. A change in consent-banner design can change observed visits even when real demand is flat, so place that release on the measurement timeline. Aggregate reporting is still operational data: define owners, access, retention, deletion handling, and incident response. The value of the Fathom and Search Console bridge is page diagnosis; collecting more identity than that decision requires adds risk without making the search evidence more accurate.
Run a release and monthly quality check
Prove the collection path with controlled visits, reconcile a fixed page sample, and fail the report visibly when identity or freshness checks break.
Before launch, test a tagged Google-like landing URL, an untagged direct visit, a redirected legacy URL, consent refusal, consent approval, and the qualified event. Confirm the final path and event once in Fathom, then verify that no sensitive parameters survive. For Search Console, save a small API request and compare it with the interface for the same property, dates, search type, page, and dimensions. The totals may still differ by view or freshness, but the scope should be explainable and repeatable.
Each month, sample the highest-opportunity pages and review unmapped paths, sudden ratio changes, zero-event pages, extract failures, token age, aliases added, and event-definition changes. Stop publication of the decision view when the extract is stale or the canonical map rejects rows; an empty chart must not look like zero demand. Record who accepted each exception and when it expires. This lightweight runbook turns a one-off blend into an auditable measurement process that can support content changes without pretending to prove causation.
- Controlled landing visits
- Consent states
- Redirect sample
- Qualified-event proof
- Interface/API scope comparison
- Monthly exception review
Use the bridge for diagnosis, not false reconciliation
Interpret patterns across visibility, visits, events, and coverage, then state the most plausible tests rather than one deterministic story.
High impressions with weak CTR suggests checking intent match, title, snippet eligibility, ranking distribution, and SERP competition. Clicks with lower-than-usual visits suggests instrumentation, redirects, consent, blockers, bot filtering, or timezone changes. Visits with weak event rate suggests landing experience, offer, audience fit, or event configuration.
Publish source-labelled totals, a historical click-to-visit diagnostic range, event-definition changes, and pages excluded from the map. The ratio is a monitor for changes, not a universal quality score.
Continue the workflow
Reconcile one 28-day control window for ten canonical pages, recording every alias, exclusion, Fathom event definition, and API request parameter.
- Search Console vs analytics: understand why clicks and visits differ
- Looker Studio SEO dashboard: avoid metric multiplication when visualizing sources
- Google Search Console integration: connect the source SearchHandled reads today
Questions teams ask
- Why do Fathom visits not equal Search Console clicks?
They collect different events with different rules. Consent, blockers, page-load failure, redirects, repeated clicks, timezones, filtering, and canonical attribution can all create legitimate differences.
- Can Fathom show organic-search keywords?
Fathom can group the dimensions its API provides, while Search Console supplies aggregate Google query performance. Do not infer a query for an individual visit.
- Does SearchHandled connect to Fathom today?
No native Fathom connector is currently claimed. This article documents a workflow using Fathom's API and Search Console exports.
Primary sources
The SearchHandled Editorial Team prefers first-party documentation and names the limits of each source. Links were checked on the access date.
- Fathom Analytics: Fathom API documentationAccessed August 29, 2026 · The workflow uses Fathom's API; SearchHandled does not currently provide a native Fathom connector.
- Google Search Console Help: Performance report: clicks, impressions, CTR, and positionAccessed August 29, 2026 · Defines Search Console metrics; it does not create a user-level analytics join.
- Google Search Central: Creating helpful, reliable, people-first contentAccessed August 29, 2026 · Quality guidance, not a guarantee that a page will rank.
- Google for Developers: Search Analytics: queryAccessed August 29, 2026

