Offers by visitor country
Visitors from the US, UK and EU, and APAC see region-specific homepage offer content instead of one global message. The recipe uses visitor geography to swap promotion copy.
Authored by Sid Chaudhary
Founder & CEO at Intempt
Agentic workflow
Coming soon1 step Blu runs end to end. It drafts a plan and nothing runs until you approve it.
- 1
Set up the regional offers
Coming soonBlu builds a step
About this recipe
When to use it
A shipping promo that doesn't apply to a visitor's country isn't a promo, it's friction. This personalizes homepage offers, currency display, and local promotions based on the visitor's detected geography.
What it delivers
Personalizes homepage offers, currency display, and shipping promotions based on visitor geography (country, region), replacing one-size-fits-all messaging with location-accurate offers.
How you prompt this
Describe the outcome in your own words and Blu Agent maps it to this recipe, or run it by name. It drafts a plan first and nothing runs until you approve it.
Tell Blu Agent what you want
“Visitors from the US, UK and EU, and APAC see region-specific homepage offer content instead of one global message. The recipe uses visitor geography to swap promotion copy.”
recipe.md preview
Built from the published catalog. Blu Agent's full step prompts load in your workspace when you run it.
Inputs & outputs
What the recipe needs before it runs, and what it leaves in your workspace.
Inputs
- Nothing declared beyond an Intempt workspace. Blu asks for anything else it needs as it goes.
Outputs
How the recipe runs
Blu follows the steps in order and shows you each one before anything goes live.
- 01Set up the regional offersCreate a CLIENT PERSONALIZATION on /experiences titled "Geo-Targeted Offer Personalization". ═══ PATH 1: Top-level configuration ═══ Experience type: client_personalization Variants (each binds to geographic audience): - Control (audience = all: fallback): default homepage with global shipping messaging - Variant B (audience = US visitors): US-specific promo (free shipping over $50, USD prices) - Audience: Users.country = "US" - Variant C (audience = UK + EU visitors): UK/EU-specific promo (free shipping over £50/€50, local currency, GDPR-compliant footer) - Audience: Users.country IN ("GB", "DE", "FR", "ES", "IT", "NL") - Variant D (audience = APAC visitors): APAC-specific promo (regional shipping, local payment methods callout) - Audience: Users.country IN ("AU", "JP", "SG", "HK", "KR") Targeting: - Pages: homepage "/" - Devices: any - Display frequency: once_per_session Metrics: - Placed order per geographic audience - Average order value per audience - Click on engagement on geo-specific CTAs Schedule: continuous ═══ PATH 2: Variant HTML content (Visual Editor) ═══ Variant: Control (all: fallback, generic) Existing hero with global messaging. Variant: B (US visitors) HTML target selector: .promo-banner (and .price-display elements) Variant DOM: <div class="promo-banner" data-variant="b" data-region="US"> <p>🇺🇸 Free shipping on orders over $50: delivered in 2-5 days</p> <a href="/sale" class="banner-cta" id="banner-cta-us">Shop the US Sale</a> </div> Plus: data attribute on body (data-currency="USD") application reads to format prices. Variant: C (UK + EU visitors) HTML target selector: .promo-banner Variant DOM: <div class="promo-banner" data-variant="c" data-region="EU"> <p>🇪🇺 Free shipping on orders over €50 / £50: delivered in 3-7 days</p> <a href="/sale-eu" class="banner-cta" id="banner-cta-eu">Shop the EU Sale</a> </div> Plus: data-currency="GBP" or "EUR" depending on country, and a GDPR notice strip if not already shown. Variant: D (APAC visitors) HTML target selector: .promo-banner Variant DOM: <div class="promo-banner" data-variant="d" data-region="APAC"> <p>🌏 Free shipping to AU, JP, SG, HK, KR: delivered in 5-10 days</p> <a href="/sale-apac" class="banner-cta" id="banner-cta-apac">Shop APAC Sale</a> <div class="local-payment-methods">Pay with Alipay · GrabPay · KakaoPay</div> </div> The Visual Editor lets the user refine the regional messaging, payment-method icons, and shipping promise per region. Taxonomy notes: - Users.country is canonical (geo-IP enriched at session start). Use the ISO 3166-1 alpha-2 country code. - Currency display is application-side; this recipe sets the data-currency attribute, and the application's price-formatting logic reads it. - For prices to actually change, the application must read the currency hint and re-format. The recipe assumes price formatting is centralized in a JS helper that respects data-currency.
Install Intempt and run it
- 1
Sign up
Create a free Intempt workspace.
- 2
Connect your data
Add the sources this recipe reads from.
- 3
Ask Blu
Type /geo-targeted-offer-personalization in Blu once this recipe is live there.
- 4
Review and approve
Blu builds each step and waits for your OK before anything goes live.
