Data Exports
Spindl data export lets you get a full daily dump of all your client and blockchain events to a shared AWS S3 bucket. The dump is daily, and delayed about 8 hours to allow enough time for proces
Below is the currently supported schema, if you need something specific not listed here please reach out to us!
Schema
| Category | Field Name | Description |
|---|---|---|
| Basic Data | event_id | Unique id of the event |
| event_name | ||
| event_type | ||
| event_time | ||
| url | ||
| url_params | ||
| path_name | ||
| Session Info | session_id | |
| Identity | customer_user_id | (If provided in events) |
| identity_wallet_address | ||
| Browser Information | device_user_agent | User agent of browser |
| utm_medium | ||
| utm_source | ||
| utm_campaign | ||
| utm_content | ||
| utm_term | ||
| referer | Page Referer (from Browser) | |
| Onchain Data | chain_id | |
| tx_hash | ||
| Attribution Data | attribution_channel | |
| attribution_type | enum (organic, external, etc.) |
Technical Details
-
Method 1: Spindl Access to your S3 Bucket
-
You’ll need to give an S3 bucket to the following ARN:
arn:aws:iam::475852047645:role/spindl-data-exports-role -
For example, a bucket policy might look like:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::475852047645:role/spindl-data-exports-role" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject" ], "Resource": "arn:aws:s3:::{bucket-name}/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::475852047645:role/spindl-data-exports-role" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::{bucket-name}" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::475852047645:role/spindl-data-exports-role" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::{bucket-name}", } ] }
-
-
Method 2: Spindl IAM Role on your AWS Account
- Create IAM User on your side with read access to the s3 bucket and provide us the AWS_ACCESS_KEY and AWS_SECRET_KEY
File Format and Details
- Format: .csv and .parquet files are currently supported
- Each daily file will be formatted as
{YYYY-MM-DD}.csvwhere the date is the start date - First file will upload a backfill, and future files will follow the above format