Web AnalyticsTracking a quiz, a subscription and a shop in one setup
ServicesMeasurement Plan · Server-Side Tracking · Conversions API · Consent Management · GA4 · Google Tag Manager
Stape over Elevar
Dog Heroes was already weighing Elevar, a plug-and-play tracking app for Shopify. We compared it with Stape side by side and recommended Stape: harder to set up, but flexible enough to build events around a funnel no app had anticipated, at a fraction of the monthly cost. Dog Heroes went with Stape, and we started on the standard ecommerce tracking while the custom parts of the site were still in development.
A shared language with Nebulab
Nebulab’s developers write the data layer, the messages the site sends whenever a visitor does something. We specified every one of them in a shared task list and tested each release on the staging store. A few decisions shaped the whole setup:
- One set of ecommerce events for both paths. Subscription and one-off orders share the same events, told apart by Shopify’s selling plan, so reports can split them without 2 parallel funnels to maintain
- Every quiz step counted. Each step reaches GA4 with its number, so Dog Heroes can see exactly where people drop out, and completing the first step goes to Google Ads and Meta as an early signal
- Each lead belongs to whoever fills in the quiz. We record the name and email typed into the quiz, not the Shopify account that happens to be logged in, so if someone fills it in for a friend’s dog, the lead goes to the friend
- One message per dog for Klaviyo. A customer with 2 dogs, Fido and Bobby, sends Klaviyo 2 separate updates, one for each dog’s recipes, so an email can talk about Fido’s food without mixing it up with Bobby’s
3 roads for the data
Most events travel through the browser and the server at the same time, and each platform gets the treatment it needs.
- GA4 never hears from the browser directly. Every hit relays through Dog Heroes’ tracking subdomain first, so nothing is counted twice
- Meta gets the Pixel and the Conversions API in parallel, matched by a shared event ID
- Google Ads receives the key conversions from both sides as separate actions, so Dog Heroes can compare them over a full month and keep the stronger one as primary
- Klaviyo receives the quiz and account events from the server only
Renewals and refunds happen without the customer visiting the site, so browser tracking never sees them. We connected Loop, the subscription platform, and Shopify straight to Dog Heroes’ tracking server: every time a renewal is charged or an order is refunded, they report it there automatically. The server marks each renewal as a renewal, so it is counted as subscription revenue, not as a new sale. On top of that, Stape’s add-ons load the container from Dog Heroes’ own domain so ad blockers let it through, extend cookies that Safari would cut short, restore the Google Ads click ID when the browser strips it, and filter out bot traffic.
A cookie banner that is fair and still works
We moved consent to Pandectes, a Shopify-native app, connected to Google’s Advanced Consent Mode, so GA4 and Google Ads still receive anonymous signals for modeling when a visitor declines. Accept and Reject carry the same color and weight, as European guidance expects. Accept sits on the left, and a single Preferences button replaces a wall of toggles.
Handing over the keys
Before go-live we cleared out tags from older tools that were still firing, and kept the names of existing conversions so the ad accounts didn’t lose their history. After it we built the remarketing audiences in GA4 and Meta, and wrote 2 handover documents: a plain-language guide for the Dog Heroes team, and a full technical reference designed to be loaded into an AI assistant, so anyone can ask it how the setup works.