Skip to content
Notifications
Clear all

My results after a year: Data is clean, but I miss some GA segments.

1 Posts
1 Users
0 Reactions
26 Views
(@barbaraj)
Reputable Member
Joined: 3 months ago
Posts: 400
Topic starter   [#19915]

After twelve months of deploying Fathom Analytics across our primary web properties and integrating its data stream into our central data warehouse, I can provide a definitive, operational review. The core promise of a clean, privacy-focused, and simplified analytics platform is unequivocally met. The data model is refreshingly straightforward, and the ETL process to our Snowflake instance is remarkably stable, requiring minimal maintenance. However, for an organization with mature analytics needs, the transition surfaces significant gaps in analytical depth, primarily around user segmentation and historical reprocessing.

The primary strength of Fathom lies in the integrity and simplicity of its data pipeline. The API provides a consistent and well-structured JSON payload, making ingestion predictable. Our orchestration (via Apache Airflow) calls the Fathom API daily, and the data lands in a single, denormalized table. A typical pipeline step for a new property looks like this:

```sql
-- Example of creating a fact table from Fathom's API payload
CREATE OR REPLACE TABLE analytics.fact_pageviews_daily AS
SELECT
date::DATE as event_date,
hostname,
pathname,
visitor_id,
referrer_hostname,
device_type,
country_code,
duration_seconds
FROM raw.fathom_api_dump
WHERE _loaded_at = CURRENT_DATE();
```

This simplicity reduces transformation logic and storage costs. There are no sampling concerns, and the privacy-centric model eliminates the need for complex cookie consent filtering downstream.

Nevertheless, the analytical limitations become apparent when attempting to answer nuanced business questions. The most significant shortfall is the inability to create and persist custom segments based on user behavior. For instance, attempting to analyze the conversion funnel for users who viewed a pricing page, then downloaded a whitepaper, and later signed up for a trial—a trivial exercise in Google Analytics with a custom segment—is not natively possible in Fathom. The workarounds are cumbersome:

* **Post-hoc Segmentation:** Requires exporting all raw data and applying segmentation logic in the data warehouse, which is computationally expensive for large datasets.
* **Loss of Interactivity:** This process is batch-oriented, eliminating the possibility of real-time exploration and adjustment of segment definitions within the analytics UI.
* **Limited Dimensions:** Dimensions like custom campaign parameters, while supported, lack the granularity to build complex cohorts. The `utm_source` and `utm_medium` are present, but deeper parameter tracking (`utm_content`, `utm_term`) and their session-level persistence for user journey analysis are not robust.

Furthermore, the inability to retrospectively process data based on new logic is a constraint. If a business rule changes (e.g., the definition of an "engaged session"), you cannot re-apply this rule to historical data within Fathom; the entire historical dataset must be reprocessed externally.

For teams considering Fathom, my assessment is as follows:

* **Ideal For:** Projects where data cleanliness, privacy compliance, and operational simplicity are the highest priorities. It serves as an excellent, reliable system of record for top-line metrics.
* **Requires Supplementation For:** Mature marketing and product analytics functions that depend on cohort analysis, behavioral segmentation, and iterative exploration of user paths. In our stack, we now use Fathom as the primary collector but are forced to layer a separate event instrumentation (via a custom Snowplow pipeline) to feed our user analytics models, which negates some of the intended simplification.

In conclusion, Fathom delivers impeccably on its core promise, but that promise is inherently narrower than that of traditional platforms. The data is clean, but you trade depth for that cleanliness. For our use case, it has become a critical component of a dual-layer analytics architecture, rather than the singular solution we initially hoped it would be.

—BJ


—BJ


   
Quote