Skip to content

Data Export

You can export certain types of analytics data into your own storage for your own analysis.

To receive our event stream, you must set up an S3 bucket in your own AWS account and grant us permission to write to it.

Event type Description
send An email/post was sent to a recipient
open A recipient opened the email/post
click A recipient clicked a link in the email/post
bounce The email/post bounced and did not reach the recipient
unsubscribe The recipient unsubscribed (includes spam complaints)
fail Delivery or processing failed

Each exported CSV row for an email event has the following columns:

Column Description
event_id Unique identifier for this event
event_time Timestamp of when the event occurred
email_id Identifier grouping every event tied to the same sent email (its send, open, click, etc. all share this value)
sender The system that sent the email
recipient User ID of the recipient
event_name The event type — one of the values in the table above
type_id Log message type (for internal use)
source Reference to the object that triggered the send (e.g. the post or automation it came from)
label Optional classification label on open/click events (e.g. whether the open looks human, automated, or from mail privacy protection prefetching)
url The URL that was clicked — present on click events only
reason The reason given for an unsubscribe — present on unsubscribe events only
channel_id Numeric ID of the specific link that was clicked — present on click events only
message_id The message ID from the sending provider (SES) for send events
properties Additional event metadata in JSON

Columns not applicable to a given event_name are left empty for that row.

Event type Description
trigger An automation was triggered for a recipient
enter A recipient entered an automation
did_not_enter A recipient did not enter an automation (conditions not met)
already_in_queue A recipient was already queued in the automation
condition_success An automation condition step passed
condition_fail An automation condition step failed
open A recipient opened the email sent by the automation
click A recipient clicked a link in the email sent by the automation
fail Delivery or processing failed

Create an S3 bucket (in any region) that will receive the exported event files.

Attach the following bucket policy, replacing [yourbucketname] in both places with your actual bucket name:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "bucket permissions",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::509145357191:root" },
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::[yourbucketname]"
},
{
"Sid": "object permissions",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::509145357191:root" },
"Action": [ "s3:PutObject", "s3:DeleteObject" ],
"Resource": "arn:aws:s3:::[yourbucketname]/*"
}
]
}

This policy grants our AWS account (509145357191) only the access needed to list, write, and overwrite/remove objects it previously wrote. It does not grant any access to read the contents of existing objects, nor any access beyond this one bucket.

Once your bucket policy is in place, reach out to our support team with:

  • The name of your bucket
  • The event types you wish to receive (see below)

We’ll configure the export on our side to start delivering to your bucket.

Files are delivered as gzip-compressed CSV (.csv.gz), with a header row naming each column. New files are added on an ongoing basis — existing files are never overwritten or removed, so your bucket accumulates a growing set of files over time.

Files are organized into the following directory structure within your bucket:

<event_name>/<yyyymmdd>/<hhiiss>-<random>.csv.gz