Skip to content
Majorka
Loading…
00/day on Meta Ads to reach new customers
  • A customer sees the Meta ad, is interested but does not buy
  • Customer returns 3 days later, types the operator's brand into Google Search, clicks a Search Ad, buys
  • GA4 records: "Conversion attributed to Google Search Ads"
  • Operator thinks: "Google is amazing, ROI 3x. Meta is weak, ROI 1.2x."
  • Operator cuts Meta budget, increases Google budget
  • Meta reach drops → fewer customers see Meta ads → fewer people return to Search
  • Google conversions drop 60% (fewer people entering the funnel from Meta)
  • Operator is confused: "Google was so good, why did it collapse?"
  • The cause: GA4's default attribution model is "last-click attribution". The last touch point before conversion gets 100% credit, even if earlier channels did the awareness work.

    Attribution models: what GA4 is doing (and what it should be)

    GA4 offers several attribution models:

    ModelHow it worksReal-world exampleProblem
    Last-click (default)Last channel before conversion gets 100% creditMeta → Search (buy) = Google 100%Ignores awareness work
    First-clickFirst channel gets 100% creditGoogle → Meta → Search (buy) = Google 100%Ignores conversion work
    Data-drivenGoogle AI allocates credit based on historical likelihood each touch drives conversionMeta 40%, Google 60% for this conversionBlack box, GA4 Premium only
    LinearAll channels split credit equallyMeta 33%, Google 33%, Email 33%Oversimplifies real impact
    Time decayRecent touches get more credit (exponential)Meta 20%, Google 80% (Search was recent)Better than last-click, still imperfect

    AU reality check: Most dropshippers are running Meta (awareness) + Google (conversion). With last-click attribution (GA4 default), all the credit goes to Google. This is why Google Ads always looks better in GA4 than it really is.

    How to fix attribution: install GA4 cross-domain tracking

    Step 1: Ensure GA4 is on both your store and Meta Pixel

    Both need to see the same user:

    ~~~ // Shopify store: GA4 tracking code <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXX', { 'allow_google_signals': true, 'allow_ad_personalization_signals': true }); </script>

    // Shopify store: Meta Pixel <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; // ... standard Meta Pixel code </script> ~~~

    Both GA4 and Meta Pixel must fire on page load and on conversion.

    Step 2: Use Google's "Google Signals" to track cross-device

    This allows GA4 to follow a user from their Android phone (where they saw Meta ads) to their desktop (where they searched Google Search).

    Setup: GA4 Admin → Data Collection > Additional Settings > Enable Google Signals

    Step 3: Change attribution model

    GA4 Admin → Reporting > Attribution Settings:

    2k+/year) OR "Time-decay" (free)
  • Apply to: All conversions
  • Real change: With time-decay attribution:

    This is more accurate than "Google 100%".

    The post-purchase survey fix: the free way to verify true attribution

    GA4 attribution is never perfect. The free way to verify: post-purchase survey.

    Add a question to your post-purchase email or Shopify order page:

    "How did you find us? (Choose one)

    After 100 orders, you will have real data on how customers discovered you:

    Real AU example (posture corrector operator):

    Discovery methodGA4 creditPost-purchase surveyReal %
    Meta ads20%Meta ad → then Googled brand30%
    Google Search (brand)50%Searched brand name35%
    Organic / direct20%Friend link, word of mouth25%
    Other (Pinterest, etc.)10%-10%

    Insight: GA4 was crediting Google Search 50%, but post-purchase survey shows only 35% of customers actually found you via Google first. 15% of "Google conversions" were really "Meta → Google" customers. Meta was actually driving 30% of revenue, not 20%.

    This insights changes budget allocation: if Meta drives 30% but GA4 showed 20%, you should increase Meta budget (underinvested). If Google shows 50% but really drives 35%, you can decrease Google budget (overinvested).

    Cross-channel ROI math (with corrected attribution)

    Corrected attribution example (kitchen gadget operator):

    GA4 last-click attribution (default, wrong):

    ,000 → GA4 revenue: A ,200 (ROAS 1.2x)
  • Google spend: A$500 → GA4 revenue: A ,800 (ROAS 3.6x)
  • Operator thinks: "Google is 3x better, cut Meta, scale Google"
  • Post-purchase survey attribution (corrected):

    Corrected take-away: Google is still best (3.5x ROAS), but Meta is not as weak (1.5x vs 1.2x). The A