Customs surprise
Cross-border buyers see your price at the cart, then get hit with $40 in duties at delivery. They blame you, dispute the charge, and never reorder. 18% of cross-border carts abandon over this alone.
Cross-border is the highest-friction segment. Customs surprises, bad addresses, language mismatches, missing payment methods. Four blocks address all four.
Cross-border buyers see your price at the cart, then get hit with $40 in duties at delivery. They blame you, dispute the charge, and never reorder. 18% of cross-border carts abandon over this alone.
International addresses don't follow US conventions. Bad postal codes, missing province fields, mistranscribed Cyrillic — every one becomes a failed delivery and a refund. 38% of international orders hit address issues.
A French shopper hits your English checkout, the trust score collapses. Native Shopify Markets handles store translation but not block-level copy. Your trust badge says 'Free returns' in English to a Spaniard.
iDEAL in Netherlands, Klarna in Germany, Sofort in Austria. Shopify supports them — but if you don't conditionally surface them by country, customers don't see the option they expect, and bounce.
Country-aware banner: 'Duties and taxes included' for DDP, or 'You may pay duties on delivery' for DDU — automatic by ship-to country.
Real-time API call as the customer types. Catches typos, missing postal codes, invalid province codes before the order submits.
Every block translates automatically via Shopify Markets language settings. Per-block override for tone-sensitive copy.
Show iDEAL in Netherlands, Klarna in DE/AT, paying icons match country expectations. Hide unsupported methods.
For every destination country, decide: are duties included (DDP) or paid on delivery (DDU)? Document the matrix — it drives the Customs Notice copy.
Turn on the Deluxe API. It validates as the customer types — no extra flow, just a quiet check that catches errors before they ship.
Open every block, hit the language tab, paste your translations (or use the auto-translate option). Spot-check the trust badge in your top three languages.
Configure Hide Payment Methods with country rules. Show iDEAL only in NL, Klarna in DE/AT/SE, ApplePay everywhere. Done in 15 minutes.
International preset on the ROI calculator. See what fixing all four leaks recovers.
Model my international Why this mattersMarkets handles currency + language detection. It doesn't handle customs messaging, block-level translation, or country-conditional payments.
See the gaps Related playbookOnce international is fixed, your domestic abandonment becomes the next lever. See the four-block abandonment stack.
See the playbookEvery block this playbook prescribes, every template that bundles them, every merchant running this stack — all clickable.
Country-aware customs + duties messaging.
Open blockShow every payment method you accept.
Open blockTime-sensitive pinned shipping callouts.
Open blockCountry-code aware phone field with validation.
Open blockFour things merchants ask before going international. If you have a complex DDP/DDU policy, we'll model the routing rules with you.
Book an international auditYes — worldwide coverage. The validation API uses postal authority data per country: USPS for US, Royal Mail for UK, La Poste for France, etc. Each country has different rules (postal code format, address line ordering) which the block respects.
Shopify Markets handles store-level language detection (URL routing, currency, locale). Our blocks plug into that — they pull the active language from Markets and render translated copy. You don't configure language detection twice.
Conditional Visibility supports cart-subtotal rules. Common config: 'Duties included for orders over $200, paid on delivery below.' Customs Notice block shows the right message based on the threshold automatically.
No — tax calc is upstream of checkout, handled by Shopify or a partner like Avalara/TaxJar. Our blocks layer messaging and validation on top of the tax-calculated total. We don't compute taxes ourselves.