- Per-subscriber conversion events become first-class (no more bundled aggregate via App Store Server Notifications)
- Event delivery is stream-based — webhooks, not polling
- Server-side conversion events fire without depending on client-side tracking
- The same event stream lands across your stack (BI / product analytics / CDP / MMP) in parallel
What Recurr emits
Recurr’s billing layer emits a versioned event stream covering subscription state changes, payment events, motion events, and ticket events. Every event ships with a stable ID, a typed envelope, and a per-eventdata payload.
Envelope — the standard envelope on every event:
subscription.activated,subscription.renewed,subscription.upgraded,subscription.cancelled,subscription.recoveredpayment.succeeded,payment.failed,payment.refundedmotion.cancel_save.attempted,motion.cancel_save.retainedmotion.winback.attempted,motion.winback.recoveredmotion.annual_upgrade.convertedticket.submitted
Pipeline integrity guarantees
Four facts the data team can build on:1. HMAC-signed delivery
Every webhook is signed with HMAC-SHA256 using your endpoint’s signing secret. The receiving service verifies the signature before processing, so no spoofed events make it into your warehouse. Reference implementations in Node and Python are in the API reference → authentication.2. Idempotent retries
Each event has a globally uniqueid (evt_*). Recurr retries on 5xx with exponential backoff (1m, 5m, 30m, 2h, 12h, 24h × N) for up to 7 days. Downstream dedup is straightforward — same event ID, same outcome, no double-counting.
A typical dedup table:
3. Versioned schemas
Event payloads are versioned viaschema_version in the envelope. Additive changes (new optional fields) ship without a version bump; breaking changes ship as a new version (v2, v3) with 90-day lead time before becoming the default.
Existing destinations stay pinned to their registered version until you explicitly migrate. Schema upgrades are an opt-in event for your warehouse parsers.
4. Replay for backfill
Recurr maintains a replay surface (currently roadmap) for re-firing historical events to a new destination. Use cases:- Backfilling a new warehouse — replay 12 months of historical events into a freshly-provisioned BigQuery/Snowflake dataset
- Recovery from a downstream incident — replay events your warehouse missed during a pipeline outage
- Audit response — replay a specific window for compliance investigation
Destination integration patterns
Recurr emits the same event stream to multiple destinations in parallel. Standard categories:Warehouse (BigQuery, Snowflake, Redshift)
Direct webhook delivery to your warehouse-ingestion endpoint, or via an ETL tool (Fivetran, Airbyte, custom Lambda) that lands raw events into a staging table for downstream modelling. Common pattern: raw events land in arecurr_events_raw table; dbt models project into per-subscriber + per-cohort tables.
Product analytics (Mixpanel, Amplitude, PostHog)
Server-side event delivery to the product analytics vendor. Subscription events join with in-app events in the same analytics tool, so cohort + funnel analysis works across both surfaces. Configuration during onboarding maps Recurr event types to your analytics-tool event taxonomy.CDP (Segment, Rudderstack, custom)
CDPs distribute subscription events to downstream destinations as part of the existing event pipeline. The Recurr event stream becomes a source in your CDP’s source list.Mobile measurement (AppsFlyer, Adjust, Branch, Singular)
Server-side conversion events fire to the MMP in the schema each vendor expects. Web sub conversions land alongside in-app conversions for unified attribution.Custom HTTPS endpoint
Any internal pipeline that accepts signed webhooks works. Common use cases:- Custom CRM (HubSpot custom objects, Salesforce subscription objects)
- Anti-fraud / risk platforms
- Internal data pipelines
- Partner systems
Setup model
Destinations are wired during onboarding by Recurr’s implementation team. The team scopes destinations from your stack inventory during pilot setup, generates signing secrets, and configures the per-destination PII mode.| PII mode | Raw email | Hashed email | Use case |
|---|---|---|---|
full | ✓ | ✓ | BI / CS / warehouse — customer’s own data |
hashed_only | ✗ | ✓ | Product analytics / MMP / CDP — vendor distributes to ad platforms |
minimal | ✗ | ✗ | High-privacy environments — only IDs + timestamps |
Working with Recurr engineering
During integration, the data lead’s touchpoints with Recurr engineering:- Pilot integration kickoff — scope your destination list, your event mapping needs, your PII-mode preferences, your custom-event needs
- Test events from staging — Recurr provides a staging tenant that fires test events to your destinations, so you can validate the pipeline end-to-end before production traffic
- Production cutover — coordinated cutover when your destination pipelines are green
- Schema-change communications — Recurr sends advance notice for schema changes; your team confirms downstream parsers are ready
Cross-references
- API reference overview → — webhook delivery model, HMAC, retry, versioning
- Event catalog → — full event taxonomy + schemas
- Destinations → — destination types + PII modes
- Measurement → — analytics, attribution, rev rec
