Skip to content
Pierre Bossetti

Case study

Tayib.app: measuring the journey from content to the app store

How Tayib.app measures the journey from content to app store: native GA4, Tarteaucitron CMP, Consent Mode v2, click_store events and a Looker Studio dashboard.

  • [Astro]
  • [Native GA4]
  • [CMP/GDPR]
  • [Consent Mode v2]
  • [Looker Studio]
Client
Tayib.app. Mobile app (iOS and Android) backed by an editorial content site built with Astro.
Objective
Know which content and which placements actually drive app downloads, and then subscriptions.
Technical problem
No reliable view of the site → store → app journey: store clicks not measured, consent to be wired properly, data scattered across tools.
Solution implemented
Native GA4 with content_group, Tarteaucitron CMP, Consent Mode v2, custom click_store events and a single Looker Studio dashboard.

The measurement architecture

The site is built with Astro, so tracking is written into the application code rather than injected by a fragile tag container. Every data point is sent natively to GA4, with a documented naming convention.

  • Native GA4 property: content_group groups pages by content type, with no regex to maintain.
  • Tarteaucitron CMP: third-party services stay blocked until the visitor has given consent.
  • Consent Mode v2: the consent state drives GA4; cookieless signals feed the modeling of missing data.
  • click_store events: a custom event on every click to the App Store or Google Play, carrying the target store and the click placement.
// 1. Consent Mode v2: everything is denied until the CMP answers
gtag('consent', 'default', {
  ad_storage: 'denied',
  ad_user_data: 'denied',
  ad_personalization: 'denied',
  analytics_storage: 'denied',
  wait_for_update: 500,
});

// 2. Custom event emitted by the code, not scraped from the DOM
gtag('event', 'click_store', {
  store: 'google',            // google | apple
  click_placement: 'navbar',  // navbar, homepage, article_full...
  link_text: 'Get it on Google Play',
});

Simplified, illustrative excerpt.

30-day results

Reporting period: 11 October to 9 November 2026. Changes are compared with the previous period.

3,322

Active users

+173.4%

105

Users sent to a store

+75.0%

531

App first opens

+314.8%

3.16%

User → store rate

The Looker Studio dashboard

The report is organized into five pages. Each one answers a specific question and shares the same filters: device, first user source, language and date range.

1. Overview: acquisition and store clicks

Scorecards summarize active users (3,322), users sent to a store (105) and app first opens (531), each with its trend. The line chart overlays active users and store clicks to spot peaks, and a donut chart splits clicks between Google (50.5%) and Apple (49.5%).

Looker Studio dashboard: scorecards for active users, users to store and first opens, line chart of users and store clicks, Google / Apple donut chart.
Page 1 · Overview: acquisition, store clicks, Google / Apple split

2. Content: which pages convert to the store

A table crosses each landing page with its users, store clicks, click-through rate and engagement time. It shows, for instance, that the homepage converts at 23.02% (49 clicks for 127 users), against 0.4% to 5% for blog articles. Average duration reaches 1 min 17 s, and a pie chart shows where traffic comes from, with North America in the lead (37.4%).

Looker Studio dashboard: landing-page table with users, store clicks, CTR and duration, geographic split and content group table.
Page 2 · Content: landing pages, CTR to the store, geographic zones

3. Placements: where the clicks happen

Thanks to the placement parameter of the custom event, a bar chart ranks clicks by site area: the navbar concentrates most of them (close to 90 clicks), ahead of the homepage, the app banner button and the two article card formats. A table details the URL and text of every clicked link ("Download", "Get it on Google Play", "Laden"), which also makes it easy to check the translated versions.

Looker Studio dashboard: bar chart of store clicks by placement (navbar, homepage, app_banner_btn, article_full, article_compact) and table of link URLs and texts.
Page 3 · Placements: store clicks by placement, link URL and text

4. Targets: App Store versus Google Play

This page cross-checks the custom click_store event (133 key events: 72 to Google, 61 to Apple) against native outbound clicks by domain (194 clicks: 106 to apps.apple.com, 88 to play.google.com) and by full URL. The campaign parameters in the links tie each click back to its source.

Looker Studio dashboard: click_store events by target store, outbound clicks by link domain and table of full URLs.
Page 4 · Targets: click_store by store, outbound clicks by domain and URL

5. App: from onboarding to subscription

The last page follows the in-app funnel: onboarding profile (341), loading (317), paywall views (767), trial starts (6) and revenue (CHF 871). It then breaks purchasers down by product (halal_monthly at 71.4%), by country and by weekday, linking web acquisition to monetization.

Looker Studio dashboard: onboarding, paywall and trial funnel, purchasers by product, country table, trials and purchasers by weekday, purchasers line chart.
Page 5 · App: onboarding, paywall, trials, purchasers by product and country

What this project delivers

A single report now links editorial content, the click to the store and the in-app conversion, built on natively collected, GDPR-compliant data. Editorial and product decisions rely on a signal, not an estimate.