2
3 Comments

90% of users rejected our cookies. Here is our stack for fixing broken analytics and ad conversions.

Hey IH,

Today I want to talk about a problem we faced while building our global AI service, bunzee.ai, and how we actually solved it. The topic is: Cookie Consent.

As consumers, we value privacy. But as founders, we desperately need data to grow. It’s a tough dilemma.

We currently operate another community platform in South Korea. In Korea, cookie consent isn't legally required, and users aren't very sensitive to it. But when we launched bunzee.ai globally, the very first wall we hit was the cookie consent mandate (GDPR, etc.). We didn't need essential cookies, but we definitely needed them for analytics and marketing.

Here is the journey of how our analytics broke, and the stack we built to fix it.

Choosing a CMP (Consent Management Platform)
Since cookie laws have been around for a while, there are tons of CMPs out there. We looked into commercial tools like OneTrust and Cookiebot. However, as an early-stage startup, we needed to minimize costs.
We decided to use Klaro. It’s open-source, lightweight, covers the essentials, and supports multiple languages well.

The Klaro Problem & Our Geolocation Fix
Because Klaro is essentially open-source, implementation wasn't too hard. However, unlike expensive commercial tools that automatically geo-target and show banners only to users in regulated countries, Klaro doesn't do this out of the box. You have to build the logic yourself.
We didn't know how to detect the user's country efficiently, but we found a simple workaround:
👉 https://geolocation-db.com/json

Now, when a user lands on our site, the client fetches their location data from that URL. If the country falls under strict cookie regulations, we trigger the Klaro consent banner.

The Nightmare: A 10% Consent Rate
Here is the brutal reality: Our cookie consent rate is under 10%.
In countries where opting in is required, the rejection rate is nearly 90%. Because of this, our Google Analytics basically went blind.
Even as a new service desperate for data, we refused to use "dark patterns" (like hiding the reject button or making it hard to opt-out). That’s not the right way to build trust. But flying blind wasn't an option either.

The Cookieless Analytics Stack
To fix this, we pivoted to cookieless tracking solutions.
Google Consent Mode V2
We implemented Google’s Consent Mode v2. It’s designed to use unidentifiable pings to estimate traffic without cookies (and if the user consents later, it merges the data). However, looking at our GA dashboard, it still felt like a lot of data was leaking or inaccurate.

Adding umami.js (Highly Recommended)
We decided to add Umami, a privacy-focused, cookieless analytics tool. The free tier covers a decent amount of traffic.

For early startups, Umami is amazing. Since it's cookieless, you can't track deep individual user journeys, but it flawlessly provides basic stats: Geolocation, Pageviews, Unique Visitors, Sessions, and Duration.

Our Tip: Run Google Consent Mode and Umami side-by-side to cross-validate your traffic data.

Fixing Broken Ad Conversions (Manual Uploads)
If a user rejects cookies, your ad conversions break.
Google Ads claims that with Consent Mode v2, their AI will use "modeled conversions" to fill in the blanks. But here is the catch: This only works if you have historical data. For a brand new startup like us running fresh ads, Google's modeling completely failed. Conversions simply weren't being tracked.
Our Solution: Manual Offline Tracking
When a user signs up via a Google Ad, we capture Google's click parameters (like GCLID/WBRAID) and save them directly to our server database.

Periodically, we take this server data and manually upload it back to Google Ads to retroactively patch our conversions. It’s not 100% perfect, but it is infinitely better than spending ad money with zero conversion tracking. If you are a new startup, you need to build this fallback system.

It took us a lot of trial and error to figure this out as a non-EU team.

How do you guys handle cookie consent? Do you just use expensive commercial tools, or do you have a specific cookieless stack? Let’s chat!

on May 14, 2026
  1. 1

    Saw this Umami.js review and gave it a try for less than a minute. Realized really fast that I couldn't even exclude my home IP from the analytics unless I went with a paid Pro plan. I mean I'm literally giving you an IP so you don't have to store as much data about my visitors, I would think that would help their business, but instead I'm on here mentioning it in a negative light ☹️

  2. 1

    Great writeup!
    the GCLID server-side trick alone is worth the read —
    took me way too long to figure that one out lol
    We ended up doing something similar with Supabase to log conversions
    directly server-side with UTM params.
    Not glamorous but at least the data is ours and not "modeled" by Google into oblivion.
    One thing i'd add — Plausible is worth a look if Umami feels like too much setup. Hosted, cookieless, just works.
    Did you try server-side GTM at any point or was the complexity
    not worth it at your stage?

    1. 1

      Thank you for your reply. I agree with the opinion that managing data directly through server-side logging is much better than leaving the results to Google models. We have determined that server-side GTM is somewhat complex at this stage, so we have decided to focus on feature development.

      We are currently considering Plausible and Umami, which you suggested. We will add them to the improvement list as soon as possible.