# Showing different Storyblok hero blocks by visitor country

Asked by Andre Gomes on 2025-02-20. Tags: storyblok, personalization, geo-targeting.

We run a travel site on Storyblok and want the homepage hero to feature
different destinations depending on the visitor's country. US visitors get
domestic packages, Brazilian visitors get South America deals, and so on.

Right now the only way I can think of is duplicating pages per market and
routing by IP ourselves, which sounds painful to maintain. With the Croct
integration, where does the geo logic actually live? Is it a condition I write
somewhere, and how granular does it get, country only or can I go down to city
level?

## 1 answer

### Accepted answer from Ingrid Solberg (2025-02-20)

No page duplication needed. The geo logic lives in an audience, which is a
CQL condition you define when creating an experience. For your case you
would create one audience per market:

```cql
location's countryName is "us"
```

It goes well beyond country. Region and city both work:

```cql
location's stateCode is "ca"
location's cityName is "San Francisco"
```

Each country audience gets its own experience content for the same slot, so
you keep one hero block in Storyblok and attach a US experience, a Brazil
experience, etc. Visitors who match none of them get the default Storyblok
block content, which stays as the fallback.

Audiences are evaluated in real time on each interaction, and Location is one
of 100+ signals you can combine, so you could later mix in things like
campaign source or returning-visitor status with AND/OR logic.

#### Reply from Andre Gomes (2025-02-21)

Set up three country audiences on the same slot this morning and it just
works. Thanks!
