Online to Offline

AU  |  How much of the VIC + WA stores' revenue Meta and Google are matched to, and what the bleed does to Meta's local ROAS  |  19 August 2026 to 29 October 2026  |  Meta attribution 7-day click  |  PrestaShop revenue gross, refunds left in
Meta: HTTPError: HTTP Error 400: Bad Request
Google-influenced store revenue51.9%BAU + store campaigns, offline imports
Local BAU ROAS, Google, VIC + WA1.59 → 4.36website only → with offline · spend split proxied
#LineSourceCalculation19 August 2026 – 29 October 2026
G1In-store revenue, Geelong + Nunawading + MidlandPrestaShopSame figure as M1.$3,672,942
G2BAU offline conversionsGoogle AdsConversion action “TEST Offline Uploads” (store-sales import), all conversions, 67 campaigns without “store” in the name. Data-driven attribution — fractional.1,525.5
G3BAU offline revenueGoogle AdsAll-conversions value of the same action.$1,692,913
G4Store campaigns offline conversionsGoogle Ads4 campaigns with “store” in the name.176.9
G5Store campaigns offline revenueGoogle AdsAll-conversions value of the store campaigns.$213,729
G6Google-influenced store revenue — via BAUGoogle Ads ÷ PrestaShopG3 ÷ G146.1%
G7Google-influenced store revenue — via store campaignsGoogle Ads ÷ PrestaShopG5 ÷ G15.8%
G8Google-influenced store revenue — combinedGoogle Ads ÷ PrestaShop(G3 + G5) ÷ G151.9%
GA4 inputs (lines GR2, GR4) from a snapshot for 2026-08-19 to 2026-09-27 — behind the page window; run refresh_o2o_google.py.
#LineSourceCalculation19 August 2026 – 29 October 2026
GR1BAU spend, nationalGoogle Ads (warehouse)Cost of campaigns without “store” in the name.$1,574,546
GR2VIC + WA share of Google-paid BAU sessions — PROXY for spend shareGA4Sessions by region × campaign, store campaigns excluded (83,585 of 215,294). Used because no source reports Google spend by state (GA4 refuses region with ad cost; warehouse is campaign × day; Google Ads API geo report needs the pending developer token). Assumes similar cost per click across states.38.8%
GR3BAU spend in VIC + WA, proxiedGoogle Ads × GA4GR1 × GR2$611,296
GR4BAU website revenue delivered to VIC + WA, measuredGA4purchaseRevenue by region, event-scoped Google Ads campaign (property data-driven attribution), store campaigns excluded. Gross — GA4 revenue is tax-inclusive for AU.$969,299
GR5BAU offline revenueGoogle AdsSame figure as G3.$1,692,913
GR6VIC + WA BAU revenue with offline addedGA4 + Google AdsGR4 + GR5$2,662,212
GR7Revenue uplift from offlineGR5 ÷ GR4174.7%
GR8Local BAU ROAS, website onlyGA4 ÷ proxied spendGR4 ÷ GR31.59
GR9Local BAU ROAS, website + offline(GA4 + Google Ads) ÷ proxied spendGR6 ÷ GR34.36

Influenced, not converted. A matched offline purchase proves a paid click inside the attribution window, whether or not it was the last touch. Meta and Google shares are read side by side and never added: one store buyer can match both.

Store campaigns are any campaign whose name contains “store”, on both platforms. BAU = everything else, and nothing else is excluded (PM% elsewhere in this app also drops named test campaigns).

Meta credits each in-store purchase to one ad on 7-day click; the BAU/store split moves with the auction, so the combined line (M8) is the stable one. Google offline imports are click-based by construction and use data-driven attribution, so counts are fractional and credit is shared across clicks; Google's window is the conversion action's, not 7 days. Google's “Store visits” action is modelled footfall and is not used here.

Match rate. Both platforms only see a store purchase when the shopper's email or phone at the till matches an ad account. Unmatched buyers are invisible, so every influenced share is a floor.

Google local ROAS. Google spend by state is not reported anywhere we can reach, so the VIC + WA share of Google-paid sessions stands in for the spend share (GR2) and is labelled a proxy; website revenue by state is measured in GA4 under the property's data-driven model, and GA4 revenue is gross for AU. Meta and Google ROAS blocks are read separately.

Local ROAS only. The uplift is expressed for VIC + WA and never nationwide: the in-store revenue lands on the share of BAU spend delivered in the store states. R5 projects website revenue by spend share, which makes the website-only ROAS equal the national one by construction; the after figure adds measured offline revenue to that assumption.

Revenue basis is gross (tax and delivery) on both sides, unlike the tax-exclusive PM% denominator used elsewhere in this app. Refunds are not netted; they are handled in the P&L.

Stores in scope: Midland (1234 orders, $1,274,739), Nunawading (1546 orders, $1,558,645), Geelong (749 orders, $839,557). Bennetts Green and Penrith excluded. Meta store campaigns excluded from BAU: —. Generated 2026-10-30 03:08 AEDT.
Refreshing data…Meta API + warehouse. Usually 15–30 seconds.