AWS
If your conversion or engagement data lives in AWS, your data team can export it to a shared S3 bucket so JustAI can count those events in your experiments. Share this page with your data team.
How it works
Section titled “How it works”- Your team sets up a daily export that writes engagement and conversion events (plus any custom metrics you want to track) to a shared S3 bucket.
- JustAI reads the bucket and matches each event to the content it served.
- Those results appear in your experiment reporting and help JustAI learn which content performs best.
Before you start
Section titled “Before you start”- Your JustAI org slug — usually your company name in lowercase (ask us if you’re not sure).
- Access to create an IAM role and a scheduled data export in your AWS account.
Set up the export
Section titled “Set up the export”- Create an IAM role for the export.
- Recommended permissions:
s3:PutObject,s3:ListBucket,s3:GetBucketLocation - Share the role ARN with JustAI. The JustAI team will grant read/write permissions to a shared S3 bucket.
- Recommended permissions:
- Create a daily data export that writes data to this S3 bucket:
s3://justwords-metrics-ingest/<org>
Data format
Section titled “Data format”We recommend partitioning the data by time (hourly) and using a reasonable serialization format (gzip, parquet, etc).
{ "session_id": string; // e.g. a session ID or something that can be // used to join multiple events "event_timestamp": long; "event_name": string; // e.g. "click", "impression" "copy_id": string; // uuid from the JustAI response "user_id": string;}This is just a suggestion — we can adapt to how your data is structured. The key parts are that we need to know when a copy_id was shown to a user and when it was positively or negatively engaged.
The session ID ensures we don’t double-count events when a user is shown a variant and engages multiple times. If your data pipeline already guarantees this, the session ID isn’t necessary.
The user ID lets us join against other custom events and measure conversions per user instead of conversions per impression, for example. This is optional — it depends on the best way to measure success for your use case.