Why most geolocation apps charge per visitor, and why GeoBeacon doesn't

If you have compared geolocation apps on the Shopify App Store you will have noticed a pattern: tiers defined by monthly visitors, overage charges, and merchants surprised by a bill after a traffic spike. This is not greed so much as architecture. This article explains where the meter comes from and how GeoBeacon avoids having one.

The classic architecture: look up the IP on the app's server

The traditional way to geolocate a visitor is to take their IP address and look it up in a commercial IP-to-location database. Since the storefront script cannot do that in the browser, each page view makes a request to the app vendor's server, which performs the lookup and answers with a country. Three costs follow:

  • Data licences. Accurate IP databases are licensed per query or per month, and the price rises with volume.
  • Infrastructure. The vendor is now on the critical path of every one of your page loads, worldwide, and has to scale accordingly.
  • Latency and fragility. The shopper waits for a round trip to a third party before the redirect decision can be made, and if that server is slow or down, so is the feature.

Charging per visitor is the honest way to pass those costs on. The problem for merchants is that traffic is unpredictable and a redirect app's value does not scale with page views: your thousandth visitor from Canada is no more valuable to route than the first.

The alternative: Shopify already knows

Every Shopify storefront already determines the visitor's country. It is how Shopify Markets picks a default currency and how the theme's “You're shopping in…” suggestion works. The storefront exposes that detected country to scripts running in the shopper's browser through the same endpoint the theme uses.

GeoBeacon reads it there. The script is a few kilobytes delivered as a theme app embed from Shopify's CDN; it asks Shopify for the detected country, compares it with your rules and either shows the popup or redirects. No request is made to our servers during a page view, ever. Our servers are only involved when you open the app in your admin to change settings, which are then saved as an app-owned metafield in your own store.

What that changes

  • Nothing to meter. We do not see visitors, so we cannot count them, and we have no cost that grows with your traffic. Pricing is flat; today it is free.
  • No new third party in your critical path. If GeoBeacon's servers were offline your storefront would not notice.
  • Privacy by construction. No visitor IP addresses, pages or locations are sent to us and no cookies are set. The only stored value is the shopper's own “go” or “stay” choice, in their browser.
  • Same accuracy as Shopify. The detected country is the one Shopify uses for Markets, so the app and your store never disagree about where a shopper is.

What it does not do

Because we rely on Shopify's detection, GeoBeacon does not offer city- or state-level targeting, and it only works on the Online Store channel where the theme app embed runs. For country-level market switching and regional store redirects, which is what the vast majority of stores need, that trade is worth making.