<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Goodlabs Wiki</title>
    <link>https://goodlabs.kz/wiki/</link>
    <description>Field notes on growth analytics, server-side tracking and attribution — fintech, superapps and e-commerce.</description>
    <language>en</language>
    <lastBuildDate>Mon, 05 Oct 2026 12:00:00 GMT</lastBuildDate>
    <atom:link href="https://goodlabs.kz/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Marketing mix modeling: what it measures, how it works and when it pays off</title>
      <link>https://goodlabs.kz/wiki/marketing-mix-modeling-mmm/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/marketing-mix-modeling-mmm/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>What marketing mix modeling answers and what it cannot, how adstock and saturation work, ROI vs marginal ROI, and the data you need before you start.</description>
      <category>mmm</category>
      <category>incrementality</category>
      <category>media-mix</category>
      <category>budget</category>
      <category>attribution</category>
      <category>experiments</category>
      <category>bayesian</category>
      <category>meridian</category>
      <category>robyn</category>
      <category>pymc-marketing</category>
    </item>
    <item>
      <title>Google Meridian: how the Bayesian MMM works and how to read its results</title>
      <link>https://goodlabs.kz/wiki/google-meridian-mmm/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/google-meridian-mmm/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>Google Meridian 2.1 explained: the model in its own notation, ROI priors and experiment calibration, health checks, and why mROI, not ROI, should move budget.</description>
      <category>mmm</category>
      <category>incrementality</category>
      <category>meridian</category>
      <category>bayesian</category>
      <category>media-mix</category>
      <category>budget</category>
      <category>experiments</category>
      <category>geox</category>
    </item>
    <item>
      <title>Geo experiments with GeoX and GeoLift: measuring incremental lift and calibrating MMM</title>
      <link>https://goodlabs.kz/wiki/geo-experiments-geox-geolift/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/geo-experiments-geox-geolift/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>How to prove a channel is incremental with a geo test: holdback, go-dark and heavy-up, TBR and synthetic control, power and MDE, and calibrating MMM.</description>
      <category>mmm</category>
      <category>incrementality</category>
      <category>experiments</category>
      <category>geox</category>
      <category>geolift</category>
      <category>meridian</category>
      <category>robyn</category>
      <category>pymc-marketing</category>
      <category>budget</category>
      <category>attribution</category>
    </item>
    <item>
      <title>Meridian vs Robyn vs PyMC-Marketing: which MMM framework to choose in 2026</title>
      <link>https://goodlabs.kz/wiki/meridian-vs-robyn-vs-pymc-marketing/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/meridian-vs-robyn-vs-pymc-marketing/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>Meridian, Robyn or PyMC-Marketing in 2026: status, estimation methods, calibration with experiments, geo support and which one fits your team.</description>
      <category>mmm</category>
      <category>incrementality</category>
      <category>media-mix</category>
      <category>meridian</category>
      <category>robyn</category>
      <category>pymc-marketing</category>
      <category>bayesian</category>
      <category>budget</category>
      <category>experiments</category>
      <category>geox</category>
    </item>
    <item>
      <title>Brand Lift studies: how to set one up, and how to read a result that says &quot;+4 points&quot;</title>
      <link>https://goodlabs.kz/wiki/brand-lift-study/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/brand-lift-study/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>A Brand Lift study holds your ad back from a random part of the audience and surveys both groups. On YouTube it starts at $5,000 in the first ten days for one question in Kazakhstan, and detecting a 2-point lift takes about 9,642 survey responses.</description>
      <category>brand-lift</category>
      <category>brand</category>
      <category>awareness</category>
      <category>experiments</category>
      <category>surveys</category>
      <category>youtube</category>
    </item>
    <item>
      <title>Conversion Lift: the holdout test that shows which conversions your ads caused</title>
      <link>https://goodlabs.kz/wiki/conversion-lift-incrementality-test/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/conversion-lift-incrementality-test/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>A conversion lift test withholds ads from a random holdout and compares conversion rates. In the worked example the platform attributes 3,000 conversions and the experiment finds 900, and detecting a 10% lift takes about 547 conversions in a 10% holdout.</description>
      <category>conversion-lift</category>
      <category>incrementality</category>
      <category>experiments</category>
      <category>attribution</category>
      <category>meta</category>
      <category>google-ads</category>
    </item>
    <item>
      <title>Measuring brand awareness: top of mind, spontaneous, aided, and the math for reading a tracker</title>
      <link>https://goodlabs.kz/wiki/brand-awareness-top-of-mind-survey/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/brand-awareness-top-of-mind-survey/</guid>
      <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>Brand awareness is three nested numbers: top of mind, spontaneous and aided. With 600 respondents per wave each carries up to 4.0 points of margin, and a change needs 5 to 8 points before it can be told from noise.</description>
      <category>brand-awareness</category>
      <category>brand</category>
      <category>surveys</category>
      <category>statistics</category>
      <category>awareness</category>
      <category>measurement</category>
    </item>
    <item>
      <title>Superapp analytics: four ways measurement breaks inside a native shell, and what holds</title>
      <link>https://goodlabs.kz/wiki/superapp-analytics/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/superapp-analytics/</guid>
      <pubDate>Thu, 30 Jul 2026 12:00:00 GMT</pubDate>
      <description>Where superapp measurement breaks: the deep-link hop, paid versus internal WebView traffic, growth stuck on KYC, and in-app browsers. Plus the three rules that hold across all four.</description>
      <category>superapp</category>
      <category>webview</category>
      <category>attribution</category>
      <category>banking</category>
      <category>mobile-growth</category>
      <category>hub</category>
    </item>
    <item>
      <title>GA4 vs Amplitude for a superapp: what the licence costs you, and what the taxonomy costs you</title>
      <link>https://goodlabs.kz/wiki/ga4-vs-amplitude-superapp/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/ga4-vs-amplitude-superapp/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>For a superapp, usually both: GA4 for ads and channels, Amplitude for funnels and retention. Where GA4&apos;s quotas break, what Amplitude charges for, and why the taxonomy is the real cost.</description>
      <category>ga4</category>
      <category>amplitude</category>
      <category>product-analytics</category>
      <category>superapp</category>
      <category>vendor-selection</category>
      <category>banking</category>
    </item>
    <item>
      <title>AppsFlyer vs Adjust vs Firebase-only: when an MMP is actually worth paying for</title>
      <link>https://goodlabs.kz/wiki/appsflyer-adjust-firebase-mmp/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/appsflyer-adjust-firebase-mmp/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>Three tests for whether you need an MMP or Firebase is enough, and the two AppsFlyer vs Adjust differences that mattered in a banking S2S integration: billing and event setup.</description>
      <category>mmp</category>
      <category>appsflyer</category>
      <category>adjust</category>
      <category>firebase</category>
      <category>mobile-attribution</category>
      <category>s2s</category>
      <category>skan</category>
    </item>
    <item>
      <title>Do you actually need a CDP? Four tests before you sign anything</title>
      <link>https://goodlabs.kz/wiki/do-you-need-a-cdp/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/do-you-need-a-cdp/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>Most CDP requests are a taxonomy, identity or activation problem. Four tests to tell which one you have, when a CDP is the right buy, and the cheaper stack for everything else.</description>
      <category>cdp</category>
      <category>dwh</category>
      <category>first-party-data</category>
      <category>reverse-etl</category>
      <category>identity</category>
      <category>capi</category>
    </item>
    <item>
      <title>Two hundred events, thirty-five that matter: rebuilding an Amplitude taxonomy at superapp scale</title>
      <link>https://goodlabs.kz/wiki/amplitude-event-taxonomy-superapp/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/amplitude-event-taxonomy-superapp/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>How 200-plus Amplitude event types across 18-plus prefixes collapse to 35: one required product_type, a server-side payment event, typed properties and the migration step everyone skips.</description>
      <category>amplitude</category>
      <category>event-taxonomy</category>
      <category>product-analytics</category>
      <category>banking</category>
      <category>superapp</category>
      <category>data-governance</category>
    </item>
    <item>
      <title>GA4 has an AI Assistant channel now. It still won&apos;t tell you how much AI traffic you get</title>
      <link>https://goodlabs.kz/wiki/ga4-ai-assistant-traffic/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/ga4-ai-assistant-traffic/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>GA4&apos;s AI Assistant channel, added on 13 May 2026, only sees AI visits with a referrer. What it misses, the custom channel group that fills the gap, and how to size what lands in Direct.</description>
      <category>ga4</category>
      <category>ai-search</category>
      <category>attribution</category>
      <category>channel-grouping</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Consent Mode v2 and server-side GTM: moving the tags didn&apos;t move the obligation</title>
      <link>https://goodlabs.kz/wiki/consent-mode-v2-server-side-gtm/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/consent-mode-v2-server-side-gtm/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>Why server-side GTM does not gate non-Google tags on consent, the four things to wire in the server container, the denied-state test, and the payload check consent never covers.</description>
      <category>consent-mode</category>
      <category>sgtm</category>
      <category>server-side</category>
      <category>gdpr</category>
      <category>pii</category>
      <category>data-governance</category>
    </item>
    <item>
      <title>What server-side GTM actually costs to run</title>
      <link>https://goodlabs.kz/wiki/sgtm-hosting-cost/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/sgtm-hosting-cost/</guid>
      <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
      <description>Cloud Run&apos;s floor is around $135/month by Google&apos;s own numbers. Published rates and arithmetic for Cloud Run, Stape, a VPS and Cloudflare Containers, plus the costs pricing pages leave out.</description>
      <category>sgtm</category>
      <category>server-side</category>
      <category>cloud-run</category>
      <category>stape</category>
      <category>cloudflare</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Attribution inside a SuperApp WebView: getting the source into Amplitude without polluting the paid channel</title>
      <link>https://goodlabs.kz/wiki/webview-attribution-product-analytics/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/webview-attribution-product-analytics/</guid>
      <pubDate>Fri, 24 Jul 2026 12:00:00 GMT</pubDate>
      <description>How to get each WebView session&apos;s layer and source into Amplitude from the native launch URL, keep internal traffic out of the paid channel, and count revenue server-side.</description>
      <category>superapp</category>
      <category>webview</category>
      <category>amplitude</category>
      <category>attribution</category>
      <category>adjust</category>
      <category>server-side</category>
    </item>
    <item>
      <title>Instagram and Facebook leads straight into your CRM, with a Cloudflare Worker instead of Zapier or a VPS</title>
      <link>https://goodlabs.kz/wiki/meta-lead-ads-crm-cloudflare-worker/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/meta-lead-ads-crm-cloudflare-worker/</guid>
      <pubDate>Tue, 14 Jul 2026 12:00:00 GMT</pubDate>
      <description>A working Meta Lead Ads to CRM bridge on a Cloudflare Worker: signatures both ways, Graph API lookup, Meta&apos;s retries as the queue, and the form_name bug a test lead caught.</description>
      <category>meta-lead-ads</category>
      <category>instagram</category>
      <category>cloudflare-worker</category>
      <category>crm</category>
      <category>webhook</category>
      <category>attribution</category>
    </item>
    <item>
      <title>Google Ads sees the leads but not the money: fixing a broken gclid chain</title>
      <link>https://goodlabs.kz/wiki/google-ads-leads-no-disbursements-gclid/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/google-ads-leads-no-disbursements-gclid/</guid>
      <pubDate>Mon, 13 Jul 2026 12:00:00 GMT</pubDate>
      <description>Why Google Ads shows leads but no disbursements: a redirect tracker dropped the gclid on its 302 and the backend never read it. How we rebuilt the chain to a server-side purchase.</description>
      <category>google-ads</category>
      <category>gclid</category>
      <category>attribution</category>
      <category>sgtm</category>
      <category>enhanced-conversions</category>
      <category>measurement-protocol</category>
    </item>
    <item>
      <title>Tracking a funnel on a SPA you don&apos;t control, with a fetch/XHR interceptor in GTM</title>
      <link>https://goodlabs.kz/wiki/fetch-xhr-interceptor-spa-funnels/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/fetch-xhr-interceptor-spa-funnels/</guid>
      <pubDate>Mon, 06 Jul 2026 12:00:00 GMT</pubDate>
      <description>How a GTM tag that patches fetch and XMLHttpRequest qualifies leads on a SPA you can&apos;t change, feeds value-based bidding, and why passive capture can break without a single error.</description>
      <category>gtm</category>
      <category>spa</category>
      <category>fetch-interceptor</category>
      <category>conversion-tracking</category>
      <category>value-based-bidding</category>
      <category>lead-qualification</category>
    </item>
    <item>
      <title>O2O Banking: connecting digital advertising to branch visits, loan disbursements, and deposits</title>
      <link>https://goodlabs.kz/wiki/banking-offline-branch-attribution/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/banking-offline-branch-attribution/</guid>
      <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
      <description>The full bank O2O architecture: click capture, branch handoff via lead_id, an offline event ledger, margin-based value and postbacks to Google Ads and Meta CAPI, with QA and SQL checks.</description>
      <category>o2o</category>
      <category>banking</category>
      <category>offline-conversions</category>
      <category>crm</category>
      <category>google-ads</category>
      <category>meta-capi</category>
    </item>
    <item>
      <title>Deep links for a banking SuperApp: WebView services, cross-auth, and lossless UTM/MMP attribution</title>
      <link>https://goodlabs.kz/wiki/superapp-deeplinks-webview-attribution/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/superapp-deeplinks-webview-attribution/</guid>
      <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
      <description>How to get an ad click onto the exact deposit, payment or WebView service in a banking SuperApp: link templates, a ctx_id ledger across login and KYC, and MMP merge rules.</description>
      <category>superapp</category>
      <category>deeplinks</category>
      <category>webview</category>
      <category>mmp</category>
      <category>app-links</category>
      <category>universal-links</category>
      <category>attribution</category>
    </item>
    <item>
      <title>A SuperApp cannot be grown on KYC alone: Firebase events, a value model, and tROAS for product growth</title>
      <link>https://goodlabs.kz/wiki/superapp-promotion-firebase-troas/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/superapp-promotion-firebase-troas/</guid>
      <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
      <description>How to move a banking SuperApp&apos;s app campaigns from KYC to product value: event taxonomy, margin-based value instead of principal, Firebase setup, and when to switch to tROAS.</description>
      <category>superapp</category>
      <category>firebase</category>
      <category>troas</category>
      <category>app-campaigns</category>
      <category>banking</category>
      <category>mobile-growth</category>
    </item>
    <item>
      <title>When TikTok and Instagram open your site inside the app: keeping attribution, events, and CAPI working without hacks</title>
      <link>https://goodlabs.kz/wiki/tiktok-instagram-inapp-browser-tracking/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/tiktok-instagram-inapp-browser-tracking/</guid>
      <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
      <description>Why TikTok and Instagram in-app browsers lose click IDs and events, and a four-layer fix: a server-side landing bridge, first-party IDs, the Pixel, and CAPI with one shared event_id.</description>
      <category>in-app-browser</category>
      <category>tiktok</category>
      <category>instagram</category>
      <category>capi</category>
      <category>events-api</category>
      <category>server-side</category>
    </item>
    <item>
      <title>The end of rented audiences: why businesses are building their own DWHs and collecting First-Party Data</title>
      <link>https://goodlabs.kz/wiki/first-party-data-dwh/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/first-party-data-dwh/</guid>
      <pubDate>Sun, 05 Apr 2026 12:00:00 GMT</pubDate>
      <description>Why privacy rules turn rented Meta and Google audiences into a business risk, and how a warehouse plus Reverse ETL turns your own first-party data back into campaigns.</description>
      <category>dwh</category>
      <category>first-party-data</category>
      <category>cdp</category>
      <category>bigquery</category>
      <category>analytics</category>
    </item>
    <item>
      <title>The end of the Pixel era: why businesses should move to CAPI and CAPIG</title>
      <link>https://goodlabs.kz/wiki/meta-capi-capig/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/meta-capi-capig/</guid>
      <pubDate>Tue, 10 Mar 2026 12:00:00 GMT</pubDate>
      <description>What Meta&apos;s CAPI and the CAPIG gateway do when the browser Pixel misses conversions, and when server-side GTM is the better choice for multi-channel buying.</description>
      <category>capi</category>
      <category>capig</category>
      <category>meta</category>
      <category>server-side</category>
      <category>analytics</category>
    </item>
    <item>
      <title>How to connect online advertising with offline sales: building transparent O2O analytics</title>
      <link>https://goodlabs.kz/wiki/ocrm-o2o-sales-funnel/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/ocrm-o2o-sales-funnel/</guid>
      <pubDate>Sun, 22 Feb 2026 12:00:00 GMT</pubDate>
      <description>The general CRM loop for offline sales: save GCLID and Client ID with each lead in amoCRM or Bitrix24, then return won deals via GA4 Measurement Protocol and Google Ads.</description>
      <category>crm</category>
      <category>analytics</category>
      <category>google-ads</category>
      <category>ga4</category>
      <category>o2o</category>
    </item>
    <item>
      <title>How SKAdNetwork actually works: an iOS analytics guide without rose-tinted glasses</title>
      <link>https://goodlabs.kz/wiki/skan-mmp-firebase/</link>
      <guid isPermaLink="true">https://goodlabs.kz/wiki/skan-mmp-firebase/</guid>
      <pubDate>Thu, 15 Jan 2026 12:00:00 GMT</pubDate>
      <description>How SKAN timers delay postbacks by 24-48 hours, what the MMP does with conversion values from 0 to 63, and how to join SKAN, MMP and Firebase data in BigQuery for Blended ROAS.</description>
      <category>skan</category>
      <category>ios</category>
      <category>mmp</category>
      <category>firebase</category>
      <category>analytics</category>
    </item>
  </channel>
</rss>
