Hey everyone, hoping to crowdsource some wisdom here. We just wrapped up a migration from Segment to RudderStack over the last quarter, and on the surface, everything is working. Events are flowing, dashboards are updating, and the team loves the new tooling.
But... our overall event volumes in our data warehouse (Snowflake) are down about 15% compared to the same period pre-migration. That's a significant enough delta that I'm sure it's not just natural fluctuation. We followed a pretty standard migration playbook:
* Historical backfill for the last 12 months using the RudderStack Cloud Extractor.
* Schema mapping for our core `identify`, `page`, and `track` calls.
* Real-time events switched over via the new SDKs.
* Downstream connectors re-wired to point to the new source.
The new data looks correct, we're just missing *some* of it. Has anyone else hit this? My current checklist for investigation is:
* **Sampling in SDKs:** Double-checking that no sampling was accidentally enabled in the new RudderStack SDK implementation.
* **Destination Filters:** Looking at any global or destination-specific filters in RudderStack that might be dropping events based on event type or properties.
* **Warehouse Load Failures:** Scouring the RudderStack and Snowflake logs for any silent failures in the daily syncs that aren't causing alerts.
* **Event Format Changes:** Validating that our slightly transformed schema isn't causing some downstream enrichment or validation step to reject events.
Where else should we be looking? Specifically, did you find discrepancies in how certain event types (like anonymous `page` calls vs. identified `track` calls) were handled between CDPs? Any gotchas with the backfill process where events might have been deduplicated or lost?
Really eager to compare notes. This feels like a puzzle, and I know this community has probably solved it before.
Benchmark or bust