How do I manage newsletter consent in compliance with GDPR?

With SendSeven, every consent is automatically documented: method, IP address, timestamp, and consent text, per contact and per channel. Channel-specific consent status for email, WhatsApp, and SMS. Automatic unsubscribe via link or STOP keyword. CSV export for GDPR data requests under Art. 15. Self-service preference center for contacts. Included in every plan.

Subscriber Compliance

Manage consent.
Prove it.

Who agreed to what, when, and how? Per contact, per channel, with timestamp and IP address. For email, WhatsApp, SMS, and every newsletter.

Active by default No credit card required 14-day free trial
maximum GDPR fine or 4% of annual revenue
€20M+
GDPR Art. 83
burden of proof lies with the sender
100%
GDPR Art. 7(1)
consent must be obtained for each channel separately
per channel
GDPR + CAN-SPAM / TCPA
consent history with timestamp and IP
complete
GDPR compliance
01
Challenge

Can you prove your contacts actually opted in?

A former newsletter subscriber files a complaint with the data protection authority. The regulator asks: When did this contact consent? Through which channel? Do you have proof? If not, it gets expensive.

For small businesses, this is a real risk. GDPR places the burden of proof entirely on the sender. If you cannot demonstrate when and how a contact consented, you are liable. Email, WhatsApp, and SMS each have their own consent requirements.

A common problem: contacts from different sources (website form, trade show, POS system, WhatsApp chat) end up on a single list without any record of what each person agreed to. Someone who only consented to email suddenly receives WhatsApp messages. Someone who unsubscribed still gets contacted.

The result: spam complaints, cease-and-desist letters, and in the worst case GDPR fines of up to €20 million.

100%
burden of proof lies with the sender, not the recipient
GDPR Art. 7(1)
0
compliance risk with complete consent documentation
Proof per contact and channel
per channel
Email, WhatsApp, SMS: consent status managed individually
Channel-specific compliance
1
Contact subscribes
Via widget, form, chat, or API
2
Consent is documented
Method, IP, timestamp, channel, text
3
Per-channel status managed
Opt-in and opt-out provable at any time
02
Solution

Every consent documented and provable

Manage consent per contact and per channel. With timestamp, IP address, consent text, and method. Automatically on every opt-in, opt-out, and preference change.

Here is how it works: A visitor subscribes to your email newsletter through your newsletter widget. The contact management system automatically records: consent method (widget, API, import), IP address, timestamp, consent text, and channel. The contact now has the status 'Email: active, WhatsApp: not consented'.

When the contact unsubscribes (via link in the email or by texting 'STOP' on WhatsApp), the opt-out is processed and documented immediately. The contact receives no further messages on that channel. The full consent history is retained for GDPR compliance records.

Via the API, you can create, query, and document consents programmatically. All data can be exported as CSV when a contact requests a data access report.

03
Result

Measurable results

Businesses with complete consent documentation are legally protected and maintain cleaner lists.

Zero
compliance risk with documented consent
100%
Provable
Every consent documented with timestamp, IP, and method.
Per channel
Channel-specific
Email, WhatsApp, SMS: each channel has its own consent status.
1 click
GDPR export
Contact data and consent history exportable as CSV.

Complete consent audit trail

Every consent is stored with method (widget, API, import), IP address, timestamp, and consent text. Every opt-out as well. The full history is available at any time, per contact and per channel.

  • Consent method: widget, API, CSV import, manual
  • IP address and timestamp on every action
  • Consent text stored alongside the record
  • Full history per contact available on demand

One contact, multiple channels

A contact may have consented to email but not WhatsApp. Or the other way around. The contact management view shows consent status per channel at a glance. Campaigns only reach contacts with valid consent for the respective channel.

  • Per-channel status: active, pending, unsubscribed
  • Email, WhatsApp, SMS, Telegram: each with its own consent
  • Campaigns automatically filter by valid consent status
  • No accidental messages to unsubscribed contacts

Unsubscribe in seconds

Three ways to unsubscribe: unsubscribe link in every email, a stop keyword for WhatsApp and SMS, or through the self-service preference center. Keywords are recognised in six languages (English, German, French, Spanish, Portuguese, Italian), so 'STOPP', 'ARRET' and 'CANCELAR' work just as well as 'STOP'. Opt-outs are processed and documented instantly.

  • Automatic unsubscribe link in every email campaign
  • 'STOP', 'STOPP', 'ARRET' or 'CANCELAR' for WhatsApp and SMS: instant opt-out in six languages
  • Self-service preference center for contacts
  • Bounce and complaint handling: automatic list hygiene

GDPR data request at the click of a button

When a contact requests a data access report under GDPR Art. 15, export all stored data with one click as CSV. Contact details, consent history, communication log, and channel status, all in one file.

  • CSV export of all contact data and consents
  • Consent history with timestamps and methods
  • Communication log across all channels
  • Ready for GDPR data access requests under Art. 15

ROI in numbers

Zero
compliance risk
Documented consent
< 1 min
for GDPR data requests
One-click CSV export
per channel
consent status managed
Email, WhatsApp, SMS
complete
audit trail for regulators
Timestamp + IP + method

What this looks like in practice

A fitness studio chain with 3 locations and 4,500 contacts sends newsletters by email and class notifications via WhatsApp. Before: a single list with no distinction by channel consent. After switching: per-contact visibility showing who consented to email (3,800), who to WhatsApp (1,200), and who to both (900). Campaigns only reach contacts with valid consent.

Consent proof
Non-existentPer contact, per channel
GDPR data request
Manual gatheringOne-click CSV export
Spam complaints
RegularNear zero

Typical scenario based on industry data

Active by default

Consent is documented from the very first contact.

01 · Automatic

Capture consent

On every sign-up via widget, form, or API, the method, IP, and timestamp are stored.

02 · Per channel

Manage status

View consent status per contact and channel. Opt-ins and opt-outs are processed instantly.

03 · 1 click

Prove it

CSV export with all consents, timestamps, and communication history.

For Developers & Power Users

Step-by-step guides for setup via the platform or API.

Platform Guide: Step by Step

Compliance features are built into your email system:

1

Review Subscription Records

Go to Contacts > Subscriptions. View opt-in method, date, IP address, and current status for each subscriber.

2

Configure Unsubscribe Footer

Go to Settings > Email Settings. Customize your unsubscribe link text and placement.

3

Enable Double Opt-In

In Email Settings, enable "Double Opt-In" to require email confirmation before subscribers are active.

4

Handle Complaints

View complaints in Reach > Email > Compliance. Subscribers who mark emails as spam are automatically unsubscribed.

You're all set!
API Reference: Developer Access

Manage subscriptions with full compliance tracking.

MethodPathDescription
POST/api/v1/subscriptionsCreate subscription with consent data
GET/api/v1/subscriptions/{id}Get subscription with audit trail
POST/api/v1/subscriptions/{id}/unsubscribeRecord unsubscribe
Language:
Create Compliant Subscription
const response = await fetch('https://api.sendseven.com/api/v1/subscriptions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'X-Tenant-ID': 'YOUR_TENANT_ID',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    contact_id: 'contact_123',
    list_id: 'list_456',
    channel_type: 'email',
    opt_in_method: 'web_form',
    opt_in_ip: '203.0.113.42',
    opt_in_url: 'https://example.com/newsletter',
    consent_text: 'I agree to receive marketing emails'
  })
});

const subscription = await response.json();
console.log('Subscription created:', subscription.id);
Unsubscribe Contact
const response = await fetch(
  'https://api.sendseven.com/api/v1/subscriptions/sub_123/unsubscribe',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN',
      'X-Tenant-ID': 'YOUR_TENANT_ID',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      reason: 'User clicked unsubscribe link',
      method: 'link'
    })
  }
);

const result = await response.json();
console.log('Unsubscribed at:', result.unsubscribed_at);

Frequently asked questions

What is stored with each consent?

Method (widget, API, import), IP address, timestamp, consent text, and channel. The full history is available at any time, even after the contact unsubscribes.

How does per-channel consent work?

Each contact has a separate consent status per channel. Someone who consented to email does not automatically receive WhatsApp messages. Campaigns automatically filter by valid consent.

How do contacts unsubscribe?

Three ways: unsubscribe link in every email, 'STOP' for WhatsApp and SMS, or through the self-service preference center. Opt-outs are processed and documented instantly.

Can I export data for GDPR requests?

Yes. One click exports all contact data, consents, and communication history as CSV. Ready for data access requests under GDPR Art. 15.

What happens with spam complaints?

Contacts who mark your email as spam are automatically unsubscribed. The event is documented. This protects your sender reputation and deliverability.

What does subscriber compliance cost?

Included in every SendSeven plan, with no extra fees or add-on. Plans start at €49/month (Basic). View pricing.

Manage consent, don't guess

Per contact, per channel, with proof. From the first newsletter to the GDPR data request.

Setup in under 5 minutes
No credit card required
100 test messages included