Push analytics data to Amazon S3
Connect an S3 bucket in Brand Control Center so your analytics export lands in your own storage as CSV or Parquet files on a schedule.
Brand Control Center keeps one S3 connection per purpose. The Push data tab, covered here, sends your analytics export to a bucket you own. The Clip it and Uploads tabs read videos from a bucket instead; see Generate clips from long videos and Upload short videos in bulk. For a warehouse instead of files, see Receive zero-party data in BigQuery.
Before you begin
- An S3 bucket in your AWS account. Note its name and region.
- An IAM user with programmatic access whose policy allows
s3:PutObjecton the bucket's objects. Brand Control Center writes a test object when you connect, then the export files on the schedule. For the Clip it and Uploads tabs the user also needss3:ListBucket. - The user's access key ID and secret access key. The access key ID is 20 characters of uppercase letters and digits.
- Create or Edit permission on Data Sources in Brand Control Center. A role with view-only access sees the form disabled. See Invite your team and assign roles.
A policy that allows the push, scoped to one bucket:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::{{BUCKET_NAME}}/*"
}
]
}Step 1: Open the S3 Storage panel
- In Brand Control Center, open Settings > Data Sources.
- Expand S3 Storage. The panel opens on the Push data tab.
Step 2: Enter the bucket and credentials
| Field | What to enter |
|---|---|
| Bucket Name | A label for the connection, such as genuin-analytics. Required. |
| Bucket ID | The bucket's name in AWS, 3 to 63 characters of letters, digits, and hyphens. Required. |
| Access Key ID | The IAM user's access key, exactly 20 uppercase letters or digits. Required. |
| Secret Token | The IAM user's secret access key. The eye icon shows or hides it. Required. |
Connect and Save stays disabled until every required field passes.
Step 3: Choose the schedule and file format
| Field | Options |
|---|---|
| Data Sync Frequency | Daily, Weekly, or Monthly. |
| Data File Format | CSV, or Parquet for columnar storage that query engines read faster. |
Both are required on the Push data tab.
Step 4: Connect
- Select Connect and Save.
- Brand Control Center writes a one-line test object,
uploads/genuin_test_file_upload.txt, to the bucket with the credentials you entered. - On success, the notification Connected to S3 Storage successfully appears and the details are saved. Exports start on the schedule you chose.
If the write fails, the panel shows Connection to your S3 storage failed and asks you to check the details. The usual causes are a mistyped key, a policy without s3:PutObject, or a bucket policy that blocks the user. Fix the credentials or the policy and connect again; nothing is saved until the test write succeeds.
Change or stop the export
To change the schedule, format, or credentials, edit the fields and select Connect and Save again. Each save repeats the test write.
There's no disconnect control for S3. To stop deliveries, deactivate or delete the IAM user's access key in AWS. The saved details stay in Brand Control Center until you overwrite them.
The Clip it and Uploads tabs
Both tabs connect a bucket Brand Control Center reads from, and each is saved separately from Push data. They take the same bucket and credential fields plus:
| Field | What to enter |
|---|---|
| Region | The bucket's AWS region, from the list. Required. |
| Path | A folder inside the bucket, such as imports/clips/. Optional, and it can't start with /. |
On save, Brand Control Center lists one object at the path to verify access, so the IAM user needs s3:ListBucket.
Limits
| Item | Limit |
|---|---|
| Connections | One per tab: Push data, Clip it, Uploads |
| Bucket ID | 3 to 63 characters: letters, digits, hyphens |
| Access Key ID | 20 uppercase letters or digits |
| Schedule | Daily, Weekly, or Monthly |
| File format | CSV or Parquet |
Limitations
- Batch delivery only: Files arrive on the chosen schedule, not as events happen.
- Write access is tested, not read: The connection test is one
PutObject. A policy that blocksListBucketstill connects on the Push data tab. - Credentials are stored as entered: Use a dedicated IAM user with the minimum policy above, and rotate its keys from AWS.

