Skip to main content
5 min read

Fathom Importer

Available on Pro and above. The Fathom importer is a one-shot tool to bring your last 90 days of Fathom Analytics daily aggregates into Zenovay, so you do not lose context when you switch.

What this does

  • Reads 90 days of daily aggregates from Fathom Analytics: visits, pageviews, top sources, top pages, top countries, devices, operating systems, and browsers.
  • Writes them into Zenovay's analytics_daily table with imported_from='fathom' so they are clearly distinguishable from native Zenovay data.
  • Idempotent: re-importing the same period UPSERTs by date and overwrites cleanly without duplicates.

What this does NOT do

  • It does not import individual visitor sessions.
  • It does not import custom events, goals, or real-time data.
  • It does not continuously sync — V1 is one-shot. Recurring sync is on the roadmap.

Prerequisites

  • A Zenovay account on Pro tier or higher.
  • A Fathom Analytics account with at least one site.
  • A Fathom read-only API key (see below).

Security note. Fathom's API key gives bearer-token access to your account data. Zenovay uses your key only during the import request and does not store it permanently. We recommend creating a dedicated API key for this import and revoking it in Fathom as soon as the import is complete.

Step-by-step

1. Create a read-only API key in Fathom

In Fathom, go to Settings → API and create a new API key. Give it a recognisable name (e.g. zenovay-import-2026-05). Copy the key — Fathom only shows it once.

You do not need to assign any special scopes; Fathom API keys have read access to your sites' statistics by default.

2. Find your site ID in Fathom

In Fathom, open the site you want to import and look at the URL — the entity ID is the alphanumeric segment after /sites/, for example ABCDE in https://app.usefathom.com/#/sites/ABCDE/. Alternatively, go to Settings → Sites and copy the ID shown next to the site.

3. Open the Import tab in Zenovay

Navigate to your domain's detail page → Import tab. You'll see source tiles for Plausible (existing) and Fathom (new).

4. Enter the API key and site ID

Click the Fathom tile → Connect via API and enter:

  • API key — the Bearer token from step 1.
  • Site ID — the alphanumeric entity ID from step 2.

5. Trigger the import

Click Import last 90 days. The import runs in the background; the UI polls every two seconds and shows a progress bar. A 90-day import typically completes in 30–60 seconds.

6. Review

When complete, you'll see a summary: rows imported, date range, and which dimensions were found. Imported data immediately appears in your dashboard with the Fathom origin marker.

7. Revoke the API key in Fathom

Once the import is confirmed, go back to Settings → API in Fathom and delete or revoke the key you created in step 1. Zenovay does not need it again for subsequent native tracking.

Troubleshooting

"Invalid API key"

Check that you copied the full key without leading or trailing spaces. Regenerate the key under Settings → API in Fathom and paste it again.

"Site not found"

The site ID must be the alphanumeric entity ID shown in the Fathom URL or settings — not the site's display name or domain. Confirm it under Settings → Sites.

"Rate limited"

Fathom limits API requests per key per minute. If you see this error, wait 60 seconds and retry. Zenovay automatically retries with backoff three times before showing this error.

"Partial import"

This indicates Fathom returned fewer than 90 days of data — usually because the site is newer than 90 days, or some days had no traffic. Spot-check the imported range in your dashboard.

Data slightly differs from the Fathom dashboard

Fathom and Zenovay count visits and filter bots slightly differently. Expect small deltas. The imported_from='fathom' marker lets you filter to compare like-for-like.

Distinguishing imported data

Every imported row carries imported_from='fathom' on analytics_daily. In Zenovay's Public Stats API (Pro+), you can filter via the same field. Native Zenovay data has imported_from=NULL.

Re-importing and removal

Re-running the import for the same period UPSERTs by date, so it is safe to repeat (with a valid API key). To remove imported Fathom data, open the Fathom tile and use Delete imported data — native Zenovay rows are untouched.



Need help? Contact [email protected] or visit our Help Center.

Was this page helpful?