Preference Center
Das Preference Center ist ein Self-Service-Portal, in dem Subscriber ihre E-Mail-Präferenzen selbst verwalten. Es ist von Grund auf DSGVO/DSG-konform: Subscriber können ihre Daten einsehen, Tag-Abonnements ändern, alle gespeicherten Daten exportieren und ihr Konto löschen.
Subscriber-Token generieren
Der Zugang zum Preference Center ist mit kurzlebigen Tokens gesichert. Generieren Sie ein Token für einen Subscriber und teilen Sie die resultierende URL.
Link teilen oder einbetten
Fügen Sie den Preference-Center-Link in Ihre E-Mails ein, damit Subscriber ihre Präferenzen jederzeit verwalten können.
Redirect-URL-Muster:
Sie können das Preference Center auch in Ihre eigene Anwendung einbetten, indem Sie auf diese URL weiterleiten oder sie in einem iFrame öffnen.
Tip
Fügen Sie den Preference-Link in die Fußzeile jeder E-Mail ein. MJML-Beispiel:
Was Subscriber tun können
Sobald ein Subscriber das Preference Center öffnet, kann er:
- Abonnierte Tags einsehen -- alle aktuell abonnierten Tags anzeigen
- Neue Tags abonnieren -- öffentliche Tags durchsuchen und zusätzliche Interessen hinzufügen
- Tags abbestellen -- sich von beliebigen Tags abmelden
- Daten exportieren -- alle gespeicherten Daten als JSON herunterladen (DSGVO Art. 20)
- Konto löschen -- alle Daten dauerhaft entfernen (DSGVO Art. 17)
Programmatischer Zugriff
Sie können diese Aktionen auch über die API mit einem Subscriber-Token ausführen.
# Praeferenzen abrufen
pref_center = client.preference_center(token_response.token)
info = await pref_center.get_preferences()
print(f"Abonniert: {len(info.subscribed_tags)} Tags")
print(f"Verfügbar: {len(info.available_tags)} Tags")
# Tag abonnieren
await pref_center.subscribe_tag("tag-id")
# Tag abbestellen
await pref_center.unsubscribe_tag("tag-id")
# Alle Daten exportieren
export = await pref_center.export_data()
# Konto löschen
await pref_center.delete_account()
// Praeferenzen abrufen
const prefCenter = client.preferenceCenter(tokenResponse.token);
const info = await prefCenter.getInfo();
console.log('Abonniert:', info.subscribed_tags.length, 'Tags');
console.log('Verfügbar:', info.available_tags.length, 'Tags');
// Tag abonnieren
await prefCenter.subscribeTag('tag-id');
// Tag abbestellen
await prefCenter.unsubscribeTag('tag-id');
// Alle Daten exportieren
const exportData = await prefCenter.exportData();
// Konto löschen
await prefCenter.deleteAccount();
# Praeferenzen abrufen
curl https://api.subscribeflow.net/api/v1/preference-center \
-H "Authorization: Bearer PREFERENCE_TOKEN"
# Tag abonnieren
curl -X POST https://api.subscribeflow.net/api/v1/preference-center/tags/TAG_ID/subscribe \
-H "Authorization: Bearer PREFERENCE_TOKEN"
# Tag abbestellen
curl -X POST https://api.subscribeflow.net/api/v1/preference-center/tags/TAG_ID/unsubscribe \
-H "Authorization: Bearer PREFERENCE_TOKEN"
# Daten exportieren
curl https://api.subscribeflow.net/api/v1/preference-center/export \
-H "Authorization: Bearer PREFERENCE_TOKEN"
# Konto löschen
curl -X DELETE https://api.subscribeflow.net/api/v1/preference-center/account \
-H "Authorization: Bearer PREFERENCE_TOKEN"
Custom Domain einrichten
Im Professional-Plan können Sie das Preference Center unter Ihrer eigenen Domain bereitstellen.
Schritt 1: Fügen Sie einen CNAME-Eintrag hinzu, der auf SubscribeFlow zeigt:
Schritt 2: Konfigurieren Sie die Custom Domain in Ihrem Dashboard unter Einstellungen > Preference Center > Custom Domain.
Schritt 3: SubscribeFlow stellt automatisch ein TLS-Zertifikat bereit. Sobald DNS propagiert, verwenden Ihre Preference-Links die eigene Domain:
Info
Custom-Domain-Support erfordert den Professional-Plan (CHF 49/Monat). Siehe Plans & Billing für Details.
DSGVO/DSG-Compliance-Features
SubscribeFlow ist für DSGVO- (EU) und DSG-Konformität (Schweiz) konzipiert:
| Feature | DSGVO-Artikel | Beschreibung |
|---|---|---|
| Datenexport | Art. 20 (Portabilität) | Subscriber können alle gespeicherten Daten als JSON exportieren |
| Konto-Löschung | Art. 17 (Recht auf Löschung) | Dauerhafte Löschung aller Subscriber-Daten |
| Präferenz-Transparenz | Art. 13/14 (Information) | Subscriber sehen genau, welche Tags sie abonniert haben |
| Self-Service-Verwaltung | Art. 7(3) (Widerruf) | Subscriber können ihre Einwilligung jederzeit zurückziehen |
| Audit Trail | Art. 30 (Verzeichnis) | Alle Abonnement-Änderungen werden mit Zeitstempeln protokolliert |
Hands-On: Präferenz-Verwaltung in Ihre App integrieren
Generieren Sie ein Token und senden Sie einen Preference-Link an einen Subscriber.
import asyncio
from subscribeflow import SubscribeFlowClient
async def main():
async with SubscribeFlowClient(api_key="sf_live_...") as client:
# 1. Subscriber erstellen
subscriber = await client.subscribers.create(
email="alice@example.com",
tags=["newsletter"],
)
# 2. Preference-Token generieren
token = await client.subscribers.generate_token(subscriber.id)
url = f"https://subscribeflow.net/preferences?token={token.token}"
# 3. Link per E-Mail senden
await client.emails.send(
template_slug="preference-invite",
to=subscriber.email,
variables={"preference_center_url": url},
)
print(f"Preference-Link an {subscriber.email} gesendet")
asyncio.run(main())
import { SubscribeFlowClient } from '@subscribeflow/sdk';
const client = new SubscribeFlowClient({
apiKey: 'sf_live_...',
});
// 1. Subscriber erstellen
const subscriber = await client.subscribers.create({
email: 'alice@example.com',
tags: ['newsletter'],
});
// 2. Preference-Token generieren
const token = await client.subscribers.generatePreferenceToken(
subscriber.id,
);
const url = `https://subscribeflow.net/preferences?token=${token.token}`;
// 3. Link per E-Mail senden
await client.emails.send({
template_slug: 'preference-invite',
to: subscriber.email,
variables: { preference_center_url: url },
});
console.log('Preference-Link an', subscriber.email, 'gesendet');
# 1. Subscriber erstellen
SUBSCRIBER_ID=$(curl -s -X POST https://api.subscribeflow.net/api/v1/subscribers \
-H "X-API-Key: sf_live_..." \
-H "Content-Type: application/json" \
-d '{"email": "alice@example.com", "tags": ["newsletter"]}' \
| jq -r '.id')
# 2. Preference-Token generieren
TOKEN=$(curl -s -X POST \
"https://api.subscribeflow.net/api/v1/subscribers/$SUBSCRIBER_ID/preference-token" \
-H "X-API-Key: sf_live_..." | jq -r '.token')
echo "Preference-Center-URL: https://subscribeflow.net/preferences?token=$TOKEN"