Every outbound message carries the same three decisions, and they're where campaigns succeed or annoy people. The content is the easy part.
Three ways to define the audience.
Dynamic — rules about who qualifies, evaluated as people change. Someone who starts matching later is included later, and someone who stops matching drops out.
Fixed — a specific set of contacts you choose, which doesn't change afterwards.
CSV — a list you upload, and can replace later.
Dynamic is right for anything ongoing — a welcome for new signups, a nudge for people who haven't finished setting up. Fixed and CSV suit a one-off: this cohort, this announcement.
In-product messages can be limited to particular pages, so a tip about exports appears on the export screen rather than everywhere. For some formats you can also require someone to have been on the page for a while, which stops a message interrupting people who are passing through.
Campaigns can also carry a start and a stop time. Setting the stop is the habit worth forming — it's the difference between a campaign that ends and one that has to be remembered.
The frequency decides what happens when someone keeps qualifying: once ever, every time they match, or at most once in a given number of days.
Once is right for almost everything you'd call an announcement. “Every time” belongs to messages tied to an event that genuinely recurs — and if you're unsure, start with once, because the failure modes aren't symmetrical: too rarely is a missed opportunity, too often is a customer switching off notifications.
Read the rules once more and ask who they include that you didn't picture. Rules written for new customers usually also match trial accounts, internal test users and the colleague who signed up twice.
For anything going out by email or push, that check is worth doing twice — those are the two you can't take back.