01
The problem this solved
Before · Broadcast only
Every send reached all 160K+ subscribers with the same content - regardless of interest, behaviour, or lifecycle stage.
A fashion-uninterested user received the same fashion-heavy newsletter as a fashion-interested user. A first-week user received the same email as a 12-month veteran.
After · Precision targeting
Segments built from 17 attributes across interest, behaviour, demographics, and lifecycle stage - applied to email, push, and in-app placement.
Travel-interested users see travel retailers. Fashion users see fashion. New users get onboarding content. Lapsed users get re-engagement copy. The right content reaches the right person.
Commercial story for merchant partners: "We can now tell a retailer: we put you in front of users who are already interested in your category - not the whole user base." This shifts the pitch from broadcast reach to targeted relevance - closer to what merchants expect from paid digital advertising.
02
Audience taxonomy - designed by PMM
Tier 1
Demographic
Gender = Female · Account Age < 7 days · Account Age > 7 days
F: 2,715
New: 40
Tier 2
Interest
Interest Category = Travel · Interest = Fashion · Home & Lifestyle · 8 categories total
Travel: 33
(full segment)
Tier 3
Behavioural
Purchase Count = 0 → first-purchase nudge · Verified = False → profile completion · Favourite Retailers = 0 → add a favourite
Task-based
Tier 4
Combined rules
Multi-attribute intersections using AND/OR/NOT · Example: Female AND Interest = Fashion AND Purchase Count = 0
Variable
03
UAT - AND/OR logic validation
The rule precedence question
Account Age < 30 days AND Interest = Fashion, OR Interest = Automotive
Does this evaluate as (Account Age < 30 days AND Interest = Fashion) OR (Interest = Automotive) - opening the expression to any Automotive fan regardless of age - or as Account Age < 30 days AND (Interest = Fashion OR Interest = Automotive)?
Finding - caught in UAT before go-live
The system evaluates AND/OR left-to-right with no grouping. The first interpretation is correct - OR re-opens the entire expression. This means a segment built as Account Age < 30 days AND Interest = Fashion, OR NOT Verified would match every unverified user in the database - collapsing a targeted new-user segment into a near-full-list send.
Fix: boundary conditions must repeat in every OR clause. Rule written into Confluence documentation as a standing constraint. Approval gate added - all OR-logic segments reviewed before activation.
04
Commercial brief - James & Ed
The brief led with what was staying the same before introducing what changed - P1/P2/P3 pricing untouched, sponsored placements always take priority, only unsold Discover slots receive interest-based backfill. This sequence was deliberate: reduce the change-anxiety before explaining the new capability.
"Think of it as a digital billboard, not a printed one. The same five slots can show different content to different audiences - depending on who's looking."
Verbal explainer used in commercial briefing session
Process note - go-live sequence
Engineering go-live moved faster than the formal commercial presentation. Commercial discovered changes were live mid-call. Managed transparently in the call - acknowledged the gap, produced the documentation suite over the following days. Learning: any go-live touching commercial needs a communication step before deployment, regardless of how quickly the technical decision moves.
05
Outcomes & next steps
First segmented send
Travel interest pilot - 33 contacts (full Travel-declared segment), 87% Mailjet match rate. Proof-of-concept for interest-based targeting mechanics.
Documentation produced
3 documents: Confluence technical reference (17 attributes, rule structure, placement config), ClickUp Placements 2.0, commercial brief v3.
Role recognition
Appointed GTM checklist owner for all subsequent WeShop product launches by the Head of Product - direct consequence of this launch ownership.
Data gap surfaced
33 Travel-interested users out of 160K+ showed most users hadn't completed interest preferences - fed into profile completion work in the 12-month CRM plan.