Fruzzel Marketing
Every December, cosmetics brands run advent-calendar campaigns to pull in new subscribers before the holiday season. We built the sign-up funnel behind one of these campaigns for Rituals Cosmetics: a “Countdown to Christmas” competition offering a $150 product bundle, run across the US, UK, Spain, and the Netherlands.

The Challenge
A seasonal campaign like this lives or dies on two things: the sign-up has to feel effortless, and every lead has to land in the client’s real marketing system, not a spreadsheet someone reconciles later. Rituals ran its CRM and email automation on Selligent (accessed over SOAP). A new sign-up wasn’t complete until it existed there too: a contact, enrolled in the right campaign, in the right language.
The campaign also had to run in four markets at once, each with its own landing copy, confirmation emails, and legal consent language, while collapsing back to a single shared backend and lead database.
What We Built
A double opt-in sign-up flow. A visitor fills in name, email, and zip code on the landing page. That creates a lead record and fires a confirmation email through SendGrid. Nothing gets pushed to Rituals’ CRM until the visitor confirms the address.

Confirmation email. A branded email carries a unique confirmation link. If a lead doesn’t click it, they never enter the CRM or the campaign, keeping the client’s contact list to addresses that were verified.

Live CRM registration on confirmation. Clicking the link hits a /confirm/{token} endpoint that checks the lead against MongoDB, then makes two sequential SOAP calls to Rituals’ Selligent instance: CreateUser to register the contact against the campaign’s mailing list, then TriggerCampaignForUser to enroll them in the automated email sequence. Both calls are idempotent against the lead’s stored state: a lead that’s already registered doesn’t get double-created if the confirmation link gets opened twice.

Graceful failure on a bad link. An invalid or already-expired token falls through to a plain not-found page instead of a raw error, since campaign links get shared, forwarded, and mistyped.

Multi-market templating. Landing pages, confirmation screens, and emails all resolve per-market: a ?country= parameter picks the right template set (US, UK, Spain, Netherlands), each with its own copy, legal consent checkboxes, and email subject line, while every market shares one Node/Hapi backend and one MongoDB lead store.
Result
We delivered a self-contained lead-gen stack: landing pages, double opt-in, and live CRM enrollment. It ran the Rituals Advent Calendar sign-up across four markets from a single codebase, with every confirmed lead landing in the client’s marketing automation, ready for the campaign’s daily email sequence.