惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
博客园 - 司徒正美
J
Java Code Geeks
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
D
Docker
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
腾讯CDC
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Check Point Blog
M
MIT News - Artificial intelligence
Jina AI
Jina AI
I
InfoQ
雷峰网
雷峰网
The Cloudflare Blog
美团技术团队
Engineering at Meta
Engineering at Meta

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Publication Lists in SFMC: Granular Email Preferences Don...
SapotaCorp · 2026-05-24 · via DEV Community

A common client ask on retail engagements: "We send three email types - monthly newsletter, weekly promotions, and birthday emails. One subscriber wants the newsletter but not the promotions. Can we do that?"

Default unsubscribe is all-or-nothing: click unsubscribe, lose every email from the brand. Publication Lists are the feature that lets subscribers opt out of one category while keeping others.

Configuration

Create one Publication List per communication type:

Publication List: NTO_Newsletter_Monthly
Publication List: NTO_Promotions_Weekly
Publication List: NTO_Birthday_Email

Enter fullscreen mode Exit fullscreen mode

When building a Send Definition, associate the correct Publication List. Subscribers can then opt out per-list via the Preference Center.

Subscribers get a dashboard showing which lists they're on and can toggle each independently. Newsletter stays on; Promotions flips off. Business logic and compliance are respected automatically.

Shared Publication Lists for multi-BU setups

In Enterprise accounts with multiple Business Units, the same subscriber may be reachable by several brands. Without coordination, they can unsubscribe from Brand A and keep receiving identical-category email from Brand B.

Shared Publication Lists live at the parent BU level and apply globally. Subscriber opts out in Brand A's Newsletter Shared List - Brand B respects it too.

Use when:

  • One Enterprise, multiple brands or regions
  • Subscribers overlap across BUs
  • You want coordinated preference management

Don't use when each BU is legally/operationally distinct and should have isolated consent management.

Two mistakes that waste time

Mistake 1: Using Suppression List instead

Team receives a request to stop sending a specific category to a subscriber. They add the subscriber to a Suppression List for that campaign. Works for the immediate ask but:

  • Suppression Lists don't show up in Preference Centers, so subscribers can't self-manage.
  • Marketing ops ends up processing preference requests by hand.
  • Inconsistent handling - one subscriber might have 3 suppressions, another might have Publication List opt-outs; no single source of truth.

Publication Lists are the right abstraction for preferences. Suppression Lists are for one-off blocks (employees, competitors).

Mistake 2: Forgetting to associate Publication List with Send Definition

Publication Lists exist but the Send Definition doesn't reference them. Subscribers opt out via Preference Center, feel good about it. Next campaign ignores the opt-out because the send isn't tied to the Publication List.

Before every send, confirm the Send Definition has the correct Publication List attached. Make it part of the pre-send checklist.

What the Preference Center looks like

SFMC's default Preference Center shows:

  • Subscriber's current email address (with option to update)
  • List of Publication Lists they're on, with toggles for each
  • Option to unsubscribe from all

Most mid-market clients want a branded Preference Center. Build on CloudPages with AMPscript to read/update Publication List memberships. URL is embedded in email footers via CloudPagesURL patterns.

Naming conventions that help

Publication List names end up in subscriber-facing UI. Clear names matter:

  • NTO_Newsletter_Monthly shown in admin as "Newsletter (Monthly)"
  • NTO_Promotions_Weekly shown as "Promotions (Weekly)"
  • NTO_Birthday_Email shown as "Birthday Offer"

The subscriber-facing label can differ from the internal name. Use the "Display Label" field to present user-friendly names in the Preference Center.

Takeaway

Publication Lists are the standard answer for "let subscribers pick what they receive." Set one per communication category, attach to every Send Definition, expose via a branded Preference Center. For Enterprise accounts, use Shared Publication Lists to coordinate across BUs. The setup is 30 minutes; the preference management stops being an ops burden permanently.


Setting up preference management in SFMC? Our Salesforce team builds Publication List architectures and branded Preference Centers on production engagements. Get in touch ->

See our full platform services for the stack we cover.