Omnichannel · Store & Location Marketing
Most foot-traffic attribution is inferred from aggregate counters. Flash ties a store visit to a known member, deduplicates it, and measures the incremental lift a campaign caused with a randomized holdout — all without storing anyone's location.
Incremental store visits
Illustrative — your numbers come from your own randomized holdout.
The problem
Aggregate counters tell you a store got busier — not which campaign, which member, or whether it would have happened anyway.
A scan without a resolved member can't enter a clean store-visit rate or be attributed to a send.
Before/after comparisons move with seasonality and promotions. Without a holdout, the 'lift' is a directional guess.
How Flash does it
A QR check-in or in-store redeem by a known member fires a deterministic store-visit event — deduplicated at the database with a timezone-aware window, member-by-store-by-time. The clean signal aggregate footfall counters can't give you.
Members are split deterministically into treated and control; control is excluded from the send. The difference in store-visit rate is the incremental effect your campaign actually caused — a number you can defend to finance, not a before/after guess.
Location and push are gated by explicit consent plus the Global Privacy Control signal, fail-closed; one-tap withdraw with no penalty. Flash never stores raw member coordinates — only derived store-visit events, on a bounded retention window.
Message members who came within a set distance of a store within a recent window. The server handles the audience — geofence event ingest, near-store / dwell triggers, the privacy gates; on-device detection ships with the FlashLocation package (CoreLocation / Play Services geofencing) in the mobile SDK your app team integrates. Stores only derived enter/dwell events, never continuous GPS.
"Can I target people who came near a store?"
With your app: the FlashLocation package (CoreLocation / Play Services geofencing) detects near-store enter/dwell on-device and reports it to the server's near-store / dwell triggers, behind explicit location consent + the Global Privacy Control signal, fail-closed. By design it stores only derived enter/dwell events, never continuous GPS.
Without an app: the cleaner signal.
A deterministic store visit — a member who actually checked in or redeemed in-store — gives you the same "recently at a store" audience with no device location needed. It's the privacy-safe foundation store-driven campaigns and true-lift measurement build on.
What changes
Store-visit signal
Before · Inferred from aggregate footfall, no identity
Lift measurement
Before · Before/after guess or self-reported
Member location privacy
Before · Ad-hoc, often raw coordinates stored
Start with QR / redeem check-ins and a holdout on one segment campaign — then widen targeting from there.