# RevenueCat + Brew

Löse Brew-Automatisierungen über Events von RevenueCat zu In-App-Käufen, Abos und Abrechnung aus, über Apple, Google, Amazon, Stripe und Web Billing hinweg. Erfordert bei RevenueCat mindestens den Plan Pro.

Kanonische URL: https://brew.new/de/browse/integrations/revenuecat

- Datenrichtung: Eingehende Daten
- Verbindung: Webhook-Secret
- In-App-Käufe + Abo-Events

## Verfügbare Funktionen

- **Event-Trigger**: Löse Brew-Automatisierungen über Events von RevenueCat zu In-App-Käufen, Abos und Abrechnung aus, über Apple, Google, Amazon, Stripe und Web Billing hinweg.

## Mach aus Abo-Events nützliche E-Mails

Verbinde RevenueCat, um markenkonforme E-Mails auszulösen, wenn jemand in deiner App kauft, verlängert, kündigt oder auf ein Abrechnungsproblem stößt. Brew unterstützt 11 Lifecycle-Events von RevenueCat, und derselbe Flow deckt Abonnenten aus App Store, Google Play, Amazon, Stripe und Web Billing ab.

Für Käufe, Verlängerungen, Rückerstattungen und Entitlements bleiben RevenueCat und die Stores zuständig. Brew erstellt und versendet die E-Mails.


## Was du damit bauen kannst

- Willkommens-E-Mails für Abonnenten: Das Event INITIAL_PURCHASE wird ausgelöst, wenn ein neues Abo beginnt, auch beim Start einer Testphase. Einmalkäufe kommen stattdessen als NON_RENEWING_PURCHASE an.
- Belege für Verlängerungen: Das Event RENEWAL wird ausgelöst, wenn sich ein Abo verlängert oder jemand, dessen Abo abgelaufen war, erneut abonniert, und enthält productId, priceUsd, pricePurchaseCurrency und currency.
- Hinweise auf Abrechnungsprobleme: Das Event BILLING_ISSUE wird ausgelöst, wenn eine Zahlung fehlschlägt. Verlinke auf die Stelle, an der Abonnenten ihre Zahlungsmethode aktualisieren.
- Follow-ups nach einer Kündigung: Das Event CANCELLATION enthält cancelReason, sodass die E-Mail eine Rückerstattung oder einen Abrechnungsfehler anders behandeln kann als eine Kündigung durch den Abonnenten.
- Willkommen-zurück-E-Mails: Das Event UNCANCELLATION wird ausgelöst, wenn ein Abonnent ein gekündigtes Abo vor dem Ablauf reaktiviert.
- Reaktivierung nach Ende des Zugangs: Das Event EXPIRATION wird ausgelöst, wenn ein Abo tatsächlich endet, und enthält expirationReason.
- Hinweise zu Planwechseln: Das Event PRODUCT_CHANGE enthält previousProductId und newProductId. Das neue Produkt greift womöglich erst später, formuliere die E-Mail also als angeforderte Änderung.
- Hinweise zu Pausierungen und verlängerten Laufzeiten: Das Event SUBSCRIPTION_PAUSED wird ausgelöst, wenn ein Abo bei Google Play zum Ende der laufenden Periode pausiert werden soll. SUBSCRIPTION_EXTENDED wird ausgelöst, wenn ein Store die Laufzeit verlängert oder Google Play eine Abbuchung aufschiebt.

## Eine Kündigung ist nicht das Ende des Zugangs

Das Event CANCELLATION kann ein gekündigtes Abo oder eine Rückerstattung bedeuten und heißt für sich genommen nicht, dass der Zugang beendet ist. Das Ende des Zugangs meldet erst EXPIRATION. SUBSCRIPTION_PAUSED plant nur eine künftige Pause.

Nutze CANCELLATION für Rückgewinnungs-E-Mails oder Umfragen zum Kündigungsgrund und EXPIRATION für alles, was voraussetzt, dass der Zugang weg ist. Ein UNCANCELLATION-Event stoppt keine Ausführung, die durch die Kündigung bereits gestartet wurde. Prüfe also vor jeder späteren E-Mail revenuecat_subscription_status in einer Bedingung.

Filtere nach environment, damit SANDBOX-Events nicht in Live-Automatisierungen landen.


## RevenueCat in Brew einrichten

- Für Webhooks brauchst du bei RevenueCat mindestens den Plan Pro.
- Öffne „Integrationen“, wähle RevenueCat und klicke auf „Webhook-URL generieren“.
- Öffne in RevenueCat „Integrations > Webhooks“ und füge eine Konfiguration hinzu. Füge die Brew-URL ein, entscheide dich für „Production“, „Sandbox“ oder beides und wähle die Lifecycle-Events aus, die RevenueCat senden soll.
- Aktiviere in dieser Konfiguration die HMAC-Signierung für Webhooks und kopiere das Signing Secret sofort, denn RevenueCat zeigt es nur ein einziges Mal an. Füge es in Brew ein und klicke auf „Verbinden“. Füge dort weder einen REST-API-Key von RevenueCat noch den optionalen Wert für den Authorization-Header ein.
- Sende aus RevenueCat einen Test-Webhook. Eine signierte TEST-Zustellung aktiviert die Verbindung, startet aber nie eine Automatisierung für Kunden.
- Setze für jeden Kunden das Abonnentenattribut $email, damit Brew eine Empfängeradresse hat.
- Beim Verbinden legt Brew Trigger für alle 11 Events an. Einen Schalter zum Aktivieren oder Deaktivieren einzelner Events gibt es nicht. Erstelle eine Automatisierung, wähle ihr RevenueCat-Event und sende einen Test, solange sie noch den Status „Entwurf“ hat. Nur Automatisierungen mit dem Status „Live“ werden ausgeführt, wenn ein passendes Event eintrifft.

## Unterstützte RevenueCat-Events

Brew unterstützt diese 11 Event-Typen:

- INITIAL_PURCHASE
- RENEWAL
- NON_RENEWING_PURCHASE
- PRODUCT_CHANGE
- CANCELLATION
- UNCANCELLATION
- EXPIRATION
- BILLING_ISSUE
- SUBSCRIPTION_PAUSED
- SUBSCRIPTION_EXTENDED
- TRANSFER

## Kontaktsynchronisierung und Personalisierung

Brew liest den Empfänger zuerst aus dem Abonnentenattribut $email und akzeptiert als Fallback eine App-User-ID, eine ursprüngliche App-User-ID oder einen Alias, sofern sie wie eine E-Mail-Adresse aussehen. Aliasse sind bei RevenueCat der Verlauf der App-User-IDs, setze $email also lieber ausdrücklich, statt dich auf sie zu verlassen. Steht in keinem dieser Felder eine echte Adresse, erfasst Brew das Event als nicht aufgelöst, legt keinen Kontakt an und startet keine Automatisierung.

Jedes verifizierte Event mit einer echten E-Mail-Adresse legt einen Brew-Kontakt an oder aktualisiert ihn – zugeordnet über die E-Mail-Adresse und unabhängig davon, ob eine Automatisierung das Event nutzt. Wenn die Daten vorhanden sind, setzt Brew revenuecat_app_user_id, revenuecat_store und revenuecat_environment.

Lifecycle-Events setzen revenuecat_subscription_status auf active, cancelled, expired, billing_issue oder pause_scheduled. Außerdem speichert Brew revenuecat_product_id, revenuecat_cancel_reason, revenuecat_expiration_reason, revenuecat_last_purchase_at und revenuecat_pending_product_id, wenn das Event sie liefert.

Richte dich bei Merge-Tags nach dem deklarierten Payload-Schema des gewählten Events. Jedes Event enthält email, productId, priceUsd, pricePurchaseCurrency, currency, store, environment und createdAt, sofern vorhanden. Das Feld priceUsd ist der Preis in USD, pricePurchaseCurrency der Preis in der Währung, die in currency steht. Vor- und Nachnamen liefern die Payloads von RevenueCat nicht.

Den Wert von store übernimmt Brew unverändert von RevenueCat, etwa APP_STORE oder PLAY_STORE, und RevenueCat kann neue Werte hinzufügen. Filtere gezielt nach den Werten, die für dich wichtig sind.

Ein Kauf begründet keine Einwilligung in Marketing-E-Mails. Halte die Einwilligung separat fest und prüfe sie vor Werbeversänden.


## Warum löst TRANSFER nie eine E-Mail aus?

RevenueCat sendet TRANSFER mit App-User-IDs, aber ohne E-Mail-Adresse eines Empfängers. Brew erfasst das Event als nicht aufgelöst und startet keine Automatisierung.


## Warum erscheint ein Event, ohne dass eine E-Mail versendet wird?

Ein Event zu empfangen und eine E-Mail zu senden, sind getrennte Schritte. Prüfe, ob eine passende Automatisierung live ist, sieh dir dann ihre Filter und ihren Ausführungsverlauf an und prüfe, ob der Empfänger erreichbar und die Versanddomain bereit ist. Eine TEST-Zustellung startet nie eine Automatisierung. Ist ein Empfänger nicht aufgelöst, prüfe zuerst $email; Brew akzeptiert auch App-User-IDs, ursprüngliche App-User-IDs und Aliasse, die wie eine E-Mail-Adresse aussehen.


## Limits und Fehlerbehebung

- Brew kann keine Entitlements vergeben oder entziehen, keine Rückerstattungen auslösen und keine Abos ändern.
- Ein Status 401 mit fehlendem Signatur-Header bedeutet meist, dass die HMAC-Signierung aus ist oder statt des Signing Secrets der Wert für den Authorization-Header eingefügt wurde. Aktiviere die HMAC-Signierung, kopiere das neue Secret und verbinde RevenueCat neu.
- Ein Status 401 mit abweichender HMAC-Signatur bedeutet, dass Brew ein anderes oder veraltetes Secret hat. Wenn du das Secret in RevenueCat rotierst, wird das alte ungültig. Kopiere also den neuen Wert und verbinde RevenueCat in Brew neu.
- Kommen gar keine Webhooks an, prüfe, ob dein Plan bei RevenueCat Webhooks enthält.
- Prüfe die Einwilligung und den Zweck jeder E-Mail. Die Synchronisierung von Abonnenten erlaubt keine Werbeversände.

## Quellen und Einrichtungsanleitungen

- [Einrichtungsanleitung für RevenueCat](https://docs.brew.new/integrations/import/revenuecat)
- [Automatisierung erstellen](https://docs.brew.new/create-emails/build-an-automation)
- [Merge-Tags](https://docs.brew.new/create-emails/merge-tags)
- [Was du mit Brew versenden kannst](https://docs.brew.new/get-started/what-you-can-send)
- [RevenueCat-Webhooks](https://www.revenuecat.com/docs/integrations/webhooks)
- [Kundenattribute in RevenueCat](https://www.revenuecat.com/docs/customers/customer-attributes)

## Verwandte Seiten

- [Alle Integrationen](https://brew.new/de/browse/integrations.md)
- [Registrieren](https://brew.new/de/sign-up.md)
- Website: https://brew.new
