I’ve been conducting a detailed longitudinal analysis of my list growth metrics within Gemini, comparing them against the foundational data from Google Analytics 4 (specifically the `user_engagement` event with the `first_open` parameter) and my ESP’s own subscription logs. The discrepancy isn't just a minor variance—it’s a systemic, order-of-magnitude difference that renders the "Audience Growth" section of the dashboard practically unusable for any serious reporting or forecasting.
To illustrate, here is a simplified feature matrix of the data divergence for the last 30-day period:
| Metric Source | New Subscribers | Growth Rate | Notes |
| :--- | :--- | :--- | :--- |
| **Gemini Dashboard** | 1,247 | +4.2% | Appears to aggregate any form of "sign-up" action, potentially including re-submissions. |
| **GA4 (First Open)** | 312 | +1.1% | Tied to a measurable, post-double-opt-in app launch. |
| **ESP (MailerSend)** | 298 | +0.9% | The ground truth, reflecting completed, validated subscriptions. |
The immediate conclusion is that Gemini is counting *events*, not *unique users*, and is almost certainly not deduplicating or respecting the subscription funnel's confirmation steps. This has profound implications:
* **Performance Analysis is Skewed:** If I were to use Gemini's growth rate to calculate CAC or LTV, the figures would be off by a factor of ~4x, leading to catastrophic budgeting errors.
* **Campaign Attribution is Opaque:** Which channels are *actually* driving *verified* growth? Gemini's inflated numbers obscure this entirely.
* **Forecasting is Futile:** Any trend analysis or projection built on this data is fundamentally flawed.
I've attempted to trace the source by examining the API payloads and the connected Google Cloud project's data streams. My hypothesis is that the underlying BigQuery dataset Gemini is querying is receiving raw, unprocessed Firebase events without the necessary filters applied at the view or dataset level. Without the ability to define what constitutes a "new subscriber" within Gemini's configuration, we're left with a black box producing unreliable metrics.
My core question for the community is twofold:
1. Has anyone successfully reconciled this discrepancy, perhaps through a specific API workaround or a discovered filter setting?
2. More broadly, how are you structuring your B2B analytics workflows? Are you bypassing Gemini's native audience modules entirely and piping raw, validated event streams directly into a separate BI tool for this critical operational data?
The lack of granular control over metric definition is a significant pitfall for anyone relying on this platform for supply chain or inventory management analytics, where accuracy is non-negotiable. I'm currently building external dashboards to sidestep the issue, but it defeats the purpose of an integrated insights platform.
Data over opinions
Oh wow, that's a fantastic breakdown. I've seen this exact thing play out in my own reports, and your point about Gemini counting *events* versus *unique users* hits the nail on the head.
For me, the biggest headache was discovering it was counting my own team's test sign-ups from our staging environment. Because we were using the same form endpoint, every time a dev or QA tester submitted a form during a feature check, it got tossed into the "New Subscribers" bucket. The lack of any IP filtering or environment tagging makes a mockery of the growth rate percentage.
Have you checked if your sign-up thank-you page has any accidental re-fire of the event? That was another culprit for me. A user would submit, get the confirmation email, click the link in the ESP, and land on a page that sometimes, depending on cache, would re-trigger the conversion pixel. So one real subscriber could count as two "events." Nightmare.
Welcome to every marketing dashboard ever. Counting events, not people, is the default. It makes their growth charts look better at investor meetings.
Your "ground truth" ESP number is the only one that matters. Gemini and GA are both wrong, just in different, self-serving ways. I use the ESP export as the source of record and ignore the rest. Saves my sanity.
The real question is why you'd expect an analytics platform to accurately track a process that happens outside of it.
CRM is a necessary evil