Email marketing · Affiliate (YMYL) · 8 markets
An email program for 8 markets, built from zero: architecture first, campaigns second
Casino.online tests every casino with real deposits, but had no email channel. We built it from zero in Customer.io: consent rules for every market, subscriber routing, localized campaigns and processes that keep the list clean.
- 850+
- verified subscribers in 6 months, organic only
- 0
- compliance incidents across 8 markets
- 10.3%
- of openers click (benchmark: 10 to 15%)
- 5
- consent attributes on every record
- Role
- Full ownership: strategy, architecture, build and execution
- Platform
- Customer.io
- Duration
- 6 months
- Markets
- UK, DACH, ES, IT, CA, US and rest of world
01 · The starting point
A blank canvas in one of the most regulated verticals
Casino.online is an affiliate platform with localized subdomains across several markets. Every casino it reviews is tested with real deposits. The content was strong, but there was no email channel.
The constraint that shaped everything
Full regulatory compliance in every market from day one. Not later, not as a patch.
- No email list
- No platform configured
- No subscriber acquisition flow
- No consent documentation
- No campaign history
02 · The markets
The same sign-up, different rules per market
Before choosing a template or writing a subject line, we mapped every market's requirements. Some require double opt-in (DOI), others allow single opt-in (SOI). Both paths collect identical consent data: the only difference is the verification step.
- UKSOIUnited Kingdom
UK GDPR
- DEDOIGermany
GDPR and local iGaming rules
- ATDOIAustria
GDPR and local iGaming rules
- ESDOISpain
GDPR and local iGaming rules
- ITDOIItaly
GDPR and local iGaming rules
- CADOICanada
Local email and iGaming rules
- USDOIUnited States
CAN-SPAM and local iGaming rules
- ROWDOI / SOIRest of world
South America and Asia, including Türkiye: DOI where required
03 · The record
Every subscriber carries proof of their consent
We don't rely on the email platform's native records alone. Every profile stores five attributes that let Casino.online demonstrate lawful basis for processing in any market.
- country: "DE"
Set by the backend at sign-up. The single source of truth for routing.
- consent_text: "I agree to receive…"
The exact checkbox label the subscriber saw.
- consent_date: "2025-07-14"
Date of the policy version they agreed to.
- registration_proof: true
Confirms the subscriber started the sign-up themselves.
- ip_address: "203.0.113.42"
Captured at sign-up for audit and disputes.
How the data reaches the record
- Form with honeypot
A hidden field stops bots before they reach the database.
- JS event listener
Captures the submit event on the form.
- Webhooks
Move the data with no manual step.
- Database and Customer.io
The profile is created with the full attribute set.
04 · The routing engine
One campaign for every new subscriber, in every market
The most complex part of the build. A single campaign receives every new subscriber, checks the country and sends them down the right path. Pick a scenario to see what happens.
Pick a scenario
A clean, provable subscription. No marketing email before confirmation.
05 · One flow, many languages
One template instead of one campaign per language
We chose Customer.io for Liquid. With conditional logic inside a single template, each subscriber gets content in their language while the campaign stays one. Parallel campaigns per language would have become unmaintainable with every new market.
{% if customer.language == "de" %}Willkommen bei Casino.online{% elsif customer.language == "es" %}Bienvenido a Casino.online{% else %}Welcome to Casino.online{% endif %}
Language and market are two different things
Germany, Austria and Switzerland all receive German content, but their rules differ. So language segments and market segments stay separate: footers, responsible gambling messaging and offer eligibility follow the market, not the language.
| Market | Language | Footer and rules |
|---|---|---|
| DE | German | Germany |
| AT | German | Austria |
| CH | German | Switzerland |
06 · The subscriber journey
Four emails that introduce the platform, then a cadence of their choice
- Welcome 01
Introduction
What Casino.online is and how to use the reviews and comparisons.
- Welcome 02
Bonuses
How the platform evaluates offers, plus current highlights.
- Welcome 03
Trust
Trustpilot reviews, real-money testing, editorial independence.
- Welcome 04
The authors
Meet the editorial team behind the content.
No fixed intervals: each next email lands in a random 20 to 40 hour window. This protects domain reputation and makes the cadence feel more human.
Subscribers choose how often
~4 emails a month
After the welcome sequence
- Bonus digest and best casinos
A regular email with current bonuses and the Top 10 ranking, refreshed from the site at every send.
- Quarterly newsletters by interest
Routed from the first send: by links clicked, topics chosen at sign-up and the authors each subscriber reads.
07 · The component system
Change it once, it updates everywhere
Every email is assembled from components. A new footer link, a new social icon or an updated casino table flows into every email at once, with no manual edits. Pick a component to see where it lives.
Transactional with no unsubscribe, pre-confirmation with policy links only, standard with full preference management.
- Confirmation (DOI)
- Welcome 01
- Welcome 02
- Welcome 03
- Welcome 04
- Digest
- Quarterly newsletter
- Transactional
Transactional emails for on-site user profiles
In parallel we built the suite for user profiles: naming convention, templates and trigger IDs handed to the developers. 5 email types across 4 geos.
signup_magic_link_[lang]Magic link for a new profilelogin_magic_link_[lang]Login link, valid 15 minutes, single useconfirm_review_[lang]Review confirmation and moderation expectationsconfirm_comment_[lang]Comment confirmationaction_register_[lang]Registration confirmation
08 · Operations
A clean list is daily work, not a spring clean
Bounces
We monitor bounces and remove addresses right away to protect domain reputation.
Test entries
We regularly delete fake entries from review testing. Left alone, they eat plan limits and drag metrics down.
Internal addresses
Team addresses sit in an exclusion segment so they don't skew the data.
6-month review
SUPPRESSED subscribers get a re-engagement test before permanent deletion.
We test subject lines (open signal) and CTA copy (click signal). When one variant wins on opens and the other on clicks, we combine the winning elements and start the next test right away.
09 · The result
A clean list and engagement on benchmark
For a new sender with no list history, no domain reputation and every subscriber acquired within the same 6 months, the target is to land on benchmark, not below it.
Organic only. Only people who confirmed, or signed up compliantly under SOI: a clean list, not an inflated count.
Across 8 markets, including Germany, Spain and Italy, three of the strictest environments in iGaming.
Engagement against benchmark
On open rate: Apple Mail Privacy Protection auto-marks emails as opened for around 46% of recipients, so opens are inflated across the industry. Clicks and CTOR are the more reliable signals, and both are on benchmark.
10 · What we learned
Three rules we carry into every project
Naming conventions are infrastructure
The email ID format, segment taxonomy and attribute keys set in week one made everything after easier to build, audit and hand over. Naming conventions are now a first-week deliverable on every engagement.
Manual segments need a data-driven twin
In Customer.io, manual segments don't automatically exclude unsubscribers. Someone who opted out stays in the segment and can be emailed without anyone noticing. So every manual segment gets a data-driven twin that filters unsubscribers, and campaigns trigger only from the twin.
Compliance is built in, not bolted on
The five attributes added complexity up front. But when regulatory questions came up mid-project, the answer was already in the subscriber record. Retrofitting them onto an existing list is far harder.
11 · What we handed over
A working system, documented down to the last segment
- Platform
Customer.io across 2 workspaces for 3 properties: Casino.online, Blackjack and NoxWin.
- Subscriber routing
DOI and SOI per market, duplicate protection, 15-day rule.
- Welcome sequence
4 emails with chosen cadence and built-in A/B tests.
- Quarterly newsletters
Q3 2025, Q4 2025, Q1 2026, routed by interest.
- Helper campaigns
“Already subscribed” and SUPPRESSED status.
- Transactional emails
5 types across 4 geos.
- Component library
Footers, headers, buttons, authors, Top 10 tables.
- Segment architecture
Lifecycle, geo, language, topic and engagement; manual and data-driven.
- Consent data model
Five attributes on every record.
- Weekly report
Customer.io AI Agent delivers stats every Monday.
- Deliverability protocols
Bounces, test entries, internal addresses, SUPPRESSED review.
- Full technical handover
Documentation for campaigns, segments, components, naming and processes.
Stack
- Customer.io
- Liquid
- JavaScript event listeners
- Webhooks
- Honeypot protection
- Customer.io AI Agent
Launching an email channel in a regulated vertical or across several markets? Let's build the foundation so it passes an audit from day one.
Verified via:
- Customer.io reports
- Weekly Customer.io AI Agent report
