AI + geolocation · Retail
Geolocated marketing: advertising that only reaches people near your business
For a restaurant, a pharmacy or a neighborhood store, an ad seen twenty kilometers away is money thrown away. We built a proximity marketing platform: campaigns reach only people inside the business’s real service area, at the moment they are nearby.
Problem
Businesses waste budget on mass advertising that reaches people outside their real service area.
Result
Proximity campaigns with measurable ROI: you only pay for real, location-based reach.
The context
Mass digital advertising is sold by impressions, and for a local business most of those impressions can never become a sale: the person is simply too far away. Small businesses end up subsidizing reach that does not serve them.
The obvious alternative — targeting by city or district — is still too coarse: a business’s real service area is a radius of blocks, not an entire district. And the moment matters: the person nearby today at lunchtime is worth more than the same person on a Sunday across town.
How it works
The platform manages proximity-radius campaigns in real time: the business defines its offer and its zone, and the system delivers the message only to users inside that area, with live bidirectional communication (WebSockets) so the offer appears and expires at the right moment.
The other half of the system is honest measurement: every campaign reports real reach by location, not abstract impressions. The business sees exactly how many people inside its zone received the offer, and the entire infrastructure is instrumented to detect problems before the user does.
Engineering decisions
Decision 01
Pay for real reach, not impressions
The model was designed as the inverse of mass advertising: the unit of value is a person inside the service area. That aligns the platform’s incentive with the business’s — and makes ROI measurable without leaps of faith.
Decision 02
Real time with WebSockets
A proximity offer is perishable: it is worth something while the person is nearby. Delivery uses Socket.io for live bidirectional communication, instead of deferred notifications that arrive after the moment has passed.
Decision 03
Observability by design
Prometheus and Grafana instrument the platform from the first deployment: delivery latency, active campaigns, health of every service. In a real-time system, learning about problems from the customer means being late twice.
What changes for the business
For the local business, the marketing budget stops buying smoke: every unit spent buys reach inside the zone where a sale is physically possible.
- Zero spend on audiences outside the service area.
- Measurable ROI per campaign: real reach, in the real zone.
- Offers that arrive at the right moment, not hours later.
- Instrumented platform: problems are detected before the user notices.
Where else it applies
Restaurants & cafés
Off-peak offers to people blocks away.
Chains with locations
Per-store campaigns, each with its real radius.
Delivery & dark stores
Directed demand inside the delivery zone.
Events & entertainment
Filling capacity with an audience that can arrive today.
FAQ
Frequently asked questions about this case
How is user location privacy handled?
Location is used with explicit consent and only to decide whether an offer applies; no movement histories are built. Proximity is evaluated in the moment — the person is not surveilled.
How is this different from social media targeted ads?
Granularity and the billing model: here the zone is your business’s real radius — blocks, not districts — and you pay for reach inside that zone, not for impressions anywhere.
Can a small business use it, or is it only for chains?
It was designed precisely so an individual business can define its offer and radius in minutes. Chains use it the same way, with one radius per location.
How do I know a campaign worked?
Every campaign reports real reach by location and moment. The dashboard shows how many people inside your zone received the offer — no metrics inflated by useless reach.
Have a similar challenge?
Tell us your problem. We'll tell you how to solve it — and how long it takes.