Zum Inhalt

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.

token_response = await client.subscribers.generate_token("subscriber-id")
url = f"https://subscribeflow.net/preferences?token={token_response.token}"
print(f"Preference-Center-Link: {url}")
const tokenResponse = await client.subscribers.generatePreferenceToken(
  'subscriber-id',
);
const url = `https://subscribeflow.net/preferences?token=${tokenResponse.token}`;
console.log('Preference-Center-Link:', url);
curl -X POST \
  https://api.subscribeflow.net/api/v1/subscribers/SUBSCRIBER_ID/preference-token \
  -H "X-API-Key: sf_live_..."

Fügen Sie den Preference-Center-Link in Ihre E-Mails ein, damit Subscriber ihre Präferenzen jederzeit verwalten können.

Redirect-URL-Muster:

https://subscribeflow.net/preferences?token=TOKEN

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:

<mj-text>
  <a href="{{preference_center_url}}">Präferenzen verwalten</a>
</mj-text>

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:

preferences.ihre-domain.com  CNAME  pref.subscribeflow.net

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:

https://preferences.ihre-domain.com/preferences?token=TOKEN

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"