Good morning, Elena
The autumn campaign sent to 18,400 contacts yesterday and 2 segments need a consent review.
Needs attention
3 openCampaigns
What was sent, to whom, and what came back.
Recent campaigns
| Campaign | Segment | Sent | Recipients | Open | Click | Opt-out |
|---|---|---|---|---|---|---|
| Autumn range launch | Active customers | 31 Aug | 18,400 | 31.4% | 4.2% | 0.90% |
| Webinar invite | Engaged, 90 days | 24 Aug | 6,120 | 42.1% | 11.4% | 0.21% |
| Monthly digest, August | All subscribers | 01 Aug | 41,800 | 28.6% | 3.1% | 0.34% |
| Re-engagement | Dormant, 12 months | 18 Jul | 12,400 | 9.2% | 0.8% | 1.80% |
| Product update | Active customers | 04 Jul | 18,200 | 34.8% | 6.6% | 0.18% |
Segments
Who a campaign goes to, and whether you are allowed to send to them.
Saved segments
| Segment | Definition | Contacts | Mailable | Consent basis | Status |
|---|---|---|---|---|---|
| Active customers | Purchased in last 12 months | 18,400 | 18,400 | Contract | Ready |
| Engaged, 90 days | Opened or clicked in 90 days | 6,120 | 6,120 | Consent | Ready |
| All subscribers | Opted in, not unsubscribed | 41,800 | 41,800 | Consent | Ready |
| Dormant, 12 months | No engagement in 12 months | 12,400 | 11,180 | Consent | Ready |
| Trial 2024 | Signed up during 2024 trial | 19,220 | 0 | None recorded | Blocked |
| Event attendees 2023 | Attended any 2023 event | 3,140 | 1,860 | Mixed | Partial |
Contacts
One record per person, with the consent history attached to it.
Recent contact activity
| Contact | Source | Opted in | Basis | Last engaged | Status |
|---|---|---|---|---|---|
| Contact 88412 | Website form | 12 Aug 2026 | Consent | 31 Aug 2026 | Mailable |
| Contact 88408 | Event badge scan | 18 Jun 2026 | Consent | 24 Aug 2026 | Mailable |
| Contact 88396 | Purchased | 04 Feb 2026 | Contract | 31 Aug 2026 | Mailable |
| Contact 88371 | Imported list 2024 | - | None | - | Suppressed |
| Contact 88355 | Website form | 22 Mar 2025 | Consent | 18 Jul 2026 | Unsubscribed |
| Contact 88340 | Website form | 09 Jan 2026 | Consent | - | Bounced, hard |
Performance
What campaigns produced, beyond opens.
By campaign, last 90 days
| Campaign | Recipients | Leads | Opportunities | Pipeline | Cost per lead | Verdict |
|---|---|---|---|---|---|---|
| Webinar invite | 6,120 | 142 | 31 | $186,000 | $8.20 | Strong |
| Product update | 18,200 | 96 | 14 | $62,000 | $14.10 | Good |
| Autumn range launch | 18,400 | 88 | 6 | $38,000 | $22.40 | Watch |
| Monthly digest | 41,800 | 62 | 4 | $0 | $41.80 | Poor |
| Re-engagement | 12,400 | 24 | 1 | $0 | $96.20 | Stop |
Lead scoring
What a score is made of, so sales can argue with it usefully.
Scoring model
| Signal | Source | Points | Decay | Status |
|---|---|---|---|---|
| Opened an email | Campaign | +2 | 30 days | Active |
| Clicked a link | Campaign | +5 | 30 days | Active |
| Visited pricing page | Website | +15 | 14 days | Active |
| Requested a demo | Website form | +40 | None | Active |
| Job title matches ICP | Contact record | +20 | None | Active |
| Unsubscribed | Campaign | Reset to 0 | - | Active |
| No engagement 90 days | System | -10 | - | Review due |
Consent and sending
Lawful basis per contact, and the sending setup that keeps mail delivered.
Consent bases in use
| Basis | Definition | Contacts | Evidence held | Expiry | Status |
|---|---|---|---|---|---|
| Consent | Explicitly opted in | 41,800 | Timestamp, IP, form | None | Valid |
| Contract | Existing customer relationship | 18,400 | Order record | 12 months after last order | Valid |
| Legitimate interest | Assessed and documented | 1,860 | LIA document | Annual review | Review due |
| None recorded | Imported without basis | 19,220 | None | - | Suppressed |
Why consent is a record, not a checkbox
The hard question is never whether someone is on your list, it is whether you can show how they got there. Consent here is a dated, evidenced record attached to the contact, not a flag that can be flipped by an import.
- Timestamp, source and form content stored at opt-in
- An import cannot set a consent basis - it must be evidenced
- Unsubscribes are permanent, global and survive re-import
- Contacts without a basis are suppressed automatically
- A contact can be exported or erased on request, with the action logged
- Suppression lists are never overwritten by a bulk update
Audit log
Every send, suppression and consent change. Retained for seven years.
Events
| When | Actor | Action | Target | Source |
|---|---|---|---|---|
| 01 Sep 08:40 | System | Blocked send, segment has no lawful basis | Trial 2024 | scheduler |
| 31 Aug 10:00 | Elena Fischer | Sent campaign to 18,400 contacts | Autumn range launch | web |
| 31 Aug 10:04 | System | Suppressed 220 hard bounces | Autumn range launch | scheduler |
| 30 Aug 15:20 | Lena Brandt | Recorded legitimate interest assessment | Event attendees 2023 | web |
| 28 Aug 09:10 | System | Processed 14 erasure requests | Contacts | scheduler |
Autumn renewal
One campaign, what it is doing and what it is costing.
Autumn renewal
Held after the first batch. Open rate is the best this year and unsubscribes are four times the normal rate, which is the same audience telling you two different things.
What the numbers say
Who unsubscribed
Batches
New campaign
Who it goes to, on what channel, and how fast.
The campaign
What will be excluded automatically
Frequency cap
A cap is the cheapest control here. It costs some reach on every campaign and saves the list, which only has to be lost once.
Content
What is actually being sent, and which version won.
Subject lines
C live| Version | Subject line | Sent | Opened | Clicked | Outcome |
|---|---|---|---|---|---|
| A | Your renewal is due | 400 | 24.1% | 3.8% | Lost |
| B | Renew before 30 September | 400 | 31.6% | 5.2% | Lost |
| C | What changed in your plan this year | 400 | 42.8% | 6.1% | Live |
The body
Checks before sending
- Every link resolves and carries the campaign tag
- Unsubscribe is one click and works without signing in
- Plain text version reads sensibly on its own
- Sender address accepts replies from a human
- Nothing in it claims a saving that is not in the pricing table
Attribution
What the spend produced, under more than one rule.
By rule
3 rules shown| Campaign | Spend | Last touch | First touch | Even split | Outcome |
|---|---|---|---|---|---|
| Autumn renewal | $18,400 | $284,000 | $96,000 | $188,000 | Depends |
| Trial nurture | $24,000 | $96,000 | $312,000 | $204,000 | Depends |
| Search, brand | $41,000 | $412,000 | $88,000 | $248,000 | Overstated |
| Conference stand | $62,000 | $41,000 | $284,000 | $162,000 | Understated |
| Winback post | $38,600 | $188,000 | $204,000 | $196,000 | Stable |
Only one row holds still whichever rule you pick. The rest of this table is an argument about method, and showing all three is more honest than picking one and calling it the number.
Calendar
What is going out, to whom, and how often they hear from you.
Schedule
5,900 over-contacted| Date | Campaign | Channel | Audience | Size | Overlap |
|---|---|---|---|---|---|
| 6 Sep | Autumn renewal | Renewals due | 18,400 | 3,100 renewed already | |
| 2 Sep | Product update | All customers | 24,800 | 18,400 overlap | |
| 28 Aug | Webinar invite | All customers | 24,800 | 18,400 overlap | |
| 19 Aug | Winback | Post | Lapsed 6-12 months | 4,200 | None |
| 12 Aug | Trial nurture | Trials | 3,100 | None |
Four thousand contacts have heard nothing in six months while five thousand heard three things in eleven days. Both numbers come from having no cap.
Reports: activity
Volume and throughput, by owner and by channel.
Volume over time
12 weeksEmails sent per week. The three peaks are three campaigns to overlapping lists inside a fortnight, which is what the calendar screen was built to prevent.
By channel
This quarterBy marketer
This quarter| Marketer | Open | Closed | Median days | Overdue |
|---|---|---|---|---|
| Marta Reyes | 6 | 9 | 8 | 2 |
| Joran Bakke | 5 | 7 | 11 | 4 |
| Celine Aubert | 4 | 6 | 9 | 3 |
| Tobias Lund | 4 | 4 | 14 | 6 |
| Unassigned | 3 | 0 | - | 9 |
Reports: performance
Against target, with the gap named.
Against target by channel
100 is the targetThe best and the worst row are the same campaign. Opens went up and the list went down, and a single headline rate hides that completely.
What moved
Rule-derivedReports: exceptions
What breached, what is late and what nobody owns.
Exceptions
80 open| Campaign | Problem | Contacts | Cost | Preventable |
|---|---|---|---|---|
| Autumn renewal | Sent to 3,100 who already renewed | 3,100 | 80 unsubscribes | Yes, an exclusion |
| Autumn renewal | Third email in 11 days | 5,900 | Same 80 | Yes, a cap |
| Product update | Full list, no segmentation | 24,800 | 31 unsubscribes | Yes, a segment |
| Webinar invite | Full list, no segmentation | 24,800 | 24 unsubscribes | Yes, a segment |
| Winback post | 4,120 contacts never included | 4,120 | Reach not used | Yes, a segment |
Eighty unsubscribes, fifty-eight of them customers of three years or more. Two switches on the new-campaign screen would have removed 5,900 people from the send and almost all of the damage with them.
People
Who has an account, and what they own.
People
18 accounts| Name | Role | Brand | Last active | Status |
|---|---|---|---|---|
| Hanne Iversen | Administrator | Marketing | 6 minutes ago | Active |
| Marta Reyes | Campaign manager | Lifecycle | 35 minutes ago | Active |
| Joran Bakke | Marketer | Acquisition | 1 hour ago | Active |
| Celine Aubert | Marketer | Retention | 3 hours ago | Active |
| Tobias Lund | Marketer | Events | Yesterday | Active |
| Priya Ellison | Data protection | Legal | 2 days ago | Active |
Roles
What each role is scoped to and what it may approve.
Roles
5 roles| Role | Type | People | Scope | Can approve to | Status |
|---|---|---|---|---|---|
| Administrator | Built in | 1 | Everything | No limit | Active |
| Campaign manager | Built in | 2 | All campaigns | Approves sends | Active |
| Marketer | Built in | 9 | Own campaigns | Cannot send | Active |
| Data protection | Custom | 2 | Consent and suppression | Can stop any send | Active |
| Read only | Custom | 4 | Read all | - | Active |
Recent changes
Why custom roles exist
- A marketer builds and tests but cannot be the one who presses send
- A campaign manager approves the first batch and can hold the rest
- Data protection can stop a live campaign without asking anybody
- Nobody can edit a suppression list, only add to it
Permissions
Every capability against every role, as enforced.
What each role can do
10 capabilities| Capability | Administrator | Manager | Marketer | Data protection | Read only |
|---|---|---|---|---|---|
| Build a campaign | Yes | Yes | Yes | No | No |
| Build a segment | Yes | Yes | Yes | Yes | No |
| Send a test | Yes | Yes | Yes | No | No |
| Release the first batch | Yes | Yes | No | No | No |
| Hold a live campaign | Yes | Yes | Own | Yes | No |
| Stop a live campaign | Yes | Yes | No | Yes | No |
| Set the frequency cap | Yes | Yes | No | Yes | No |
| Add to suppression | Yes | Yes | Yes | Yes | No |
| Remove from suppression | No | No | No | No | No |
| Export contact data | Yes | No | No | Yes | No |
Nothing removes a contact from suppression, for anybody. A person who asked to be left alone stays left alone, and the only way back is for them to opt in again.
Notifications
What the system sends, to whom, and when.
What is sent
Quiet hours
Notification rules are yours to set. What is here is a starting point drawn from how the queue actually behaves.
Integrations
Connected systems and their sync history.
Connected
4 connectedWhat breaks without them
- Without the CRM the exclusion for people who already renewed cannot run, which is exactly the control the autumn campaign needed
- Without analytics attribution collapses to last touch and stays there
- Without the warehouse only one rule can be shown rather than three
- Sending still works; the guardrails are what go missing first
Sync history
Last 24 hours| When | Source | Records | Result |
|---|---|---|---|
| Continuous | Email platform | 4,200 events | Live |
| 06:00 today | CRM | 24,800 contacts | 3,100 renewal flags updated |
| 06:00 today | Web analytics | 18,400 sessions | Current |
| 2 Sep 18:00 | Print partner | 4,200 posted | 62 returned |
Import and export
Bulk load and extract, with per-row validation.
Import
Validated before anything is written. A file with one bad row imports the rest and tells you which line failed and why.
Export
Recent imports and exports
Last 30 days| When | What | Rows | Result | By |
|---|---|---|---|---|
| 5 Sep 10:20 | Import | 1,840 | 1,802 loaded, 38 suppressed | Marta Reyes |
| 1 Sep 17:00 | Export | 24,800 | Complete | Priya Ellison |
| 24 Aug 09:40 | Import | 620 | Complete | Joran Bakke |