All questions

Geo personalization on a Strapi site when Strapi has no segmentation at all?

Asked by Andre Gomes on

AGAndre Gomes

We run a travel site on Strapi with a React frontend. Product wants visitors from the US to see a different destination hero than visitors from Brazil, and so on for a few key markets.

Strapi has no concept of audiences or visitor location, it just serves whatever is published. So where is that logic supposed to live? I could sniff a geo header at the edge and swap components myself but that feels like the start of a homegrown rules engine I dont want to maintain. What is the sane architecture here?

Was this helpful?

1 answer

Croct Bot
AI
Accepted answer

This logic does not belong in Strapi or in a homegrown rules engine. In the overlay model, audience logic lives in the personalization layer while Strapi keeps serving content as usual.

The setup looks like this:

  1. Map your destination hero component to a Croct slot; the published Strapi hero stays as the default fallback.
  2. Create an experience per market with a location-based audience. Audiences are written in CQL, for example:
location's countryName is "us"

You can be as granular as needed:

location's countryName is "us" and location's cityName is "San Francisco"

Audiences are evaluated in real time on each interaction, and Location is one of more than 100 signals available for targeting. Visitors who match see the market-specific hero; everyone else sees the default from Strapi.

For reference, Zapay used location-based personalization in a similar way and measured a 27% increase in transactions. The condition syntax is covered in the CQL location reference.

Was this helpful?
Still have questions?