AWS SNS
Configure real-time event delivery to AWS SNS topics for event distribution
The AWS SNS destination enables you to publish your event data to Amazon Simple Notification Service (SNS) topics in real-time. This allows you to fan out events to multiple subscribers, including SQS queues, Lambda functions, and HTTP endpoints.
Configuration
To set up the AWS SNS destination:
- Navigate to the Destinations section in your account
- Click "Add Destination" and select "AWS SNS"
- Provide the following information:
- AWS Region
- SNS Topic ARN
Event Format
Events published to your SNS topic will be in the following format:
{
"event": {
"event": "Order Completed",
"event_properties": {
"order_id": "12345",
"total": 99.99
},
...etc
},
"visitor": {
"visitor_id": "visitor_123",
"first_seen_at": "2024-01-01T00:00:00Z",
"email": "example@example.com",
...etc
},
"user": {
"external_id": "user_456",
"email": "example@example.com",
...etc
}
}Delivery Guarantees
Events are delivered with at least once semantics. This means that each event may be delivered one or more times to your SNS topic. Duplicate events can occur due to network retries, system failures, or other transient conditions.
To ensure idempotent processing of events, your consumers should use visitor.visitor_id and/or event.distinct_id to identify and deduplicate events. These identifiers remain consistent across duplicate deliveries of the same event, allowing you to safely process events multiple times without side effects.
Best Practices
- Ensure your SNS topic has appropriate access policies (you will need to contact a member of the Ours Privacy team for this)
- Consider using message attributes for filtering
How is this guide?