Exporting data in Attribution
How to work with raw data exports from Attribution
This doc is for data analysts and developers
- The data that can be exported and its format
- How Attribution delivers data to you
- Custom reports
Attribution can export the raw data it collects, and the data it generates from it, for the data analysts at your company. Use it to build custom reports and to look deeper into your raw data than the dashboard goes. Raw data exports are unattributed: no model is applied to them. If you want a model on top of this data, you build it yourself.
The data
The data is a set of linked tables, exported as Apache Parquet files, the format cloud warehouses handle best. CSV is also possible; for the other supported formats see the Amazon Redshift UNLOAD command.
Tables are exported in one of two ways:
- Incrementally: every day, only the rows that changed are written. This applies to the raw data your website or app sends to our tracking endpoint, and to the spend amounts pulled from integrations.
- Full resyncs: the whole table is written on every run. These are the tables Attribution generates:
Filters, the filter tree as it is on the dashboard.Visits(touchpoints), each bound to its filter.Visit costs, spend per filter per day spread over visits.
The tables an export includes:
- Events
- Properties
- Parameters
- Users
- Visitors
- Companies
- Browsers
- Amounts, the spend you see on the dashboard
- Impressions
- Filters
- Visits
- Visit costs
Each table's structure is documented in Data schema.
Delivery
Attribution writes a dump of your data every day into the cloud storage of your choice. You provide the storage, grant access to it and set up the export yourself under Settings → Data Export. Attribution needs full read and write access to the bucket, and the sync process may delete files it finds there, so keep the bucket for this data alone. The supported storages are:
- Amazon S3 (preferred)
- Google Cloud Storage
- Azure Blob Storage
Once the data is in your bucket, what happens next is up to you. The usual next step is loading it into a database for analysis.
Doing ETL (extract, transform, load) properly for this data takes some care, because some tables are replaced in full and others are merged; see Manually loading data export. Our ETL service does it for you, for the common analytical databases:
Visitor-level tracking: enriching your data
One difference between Attribution and most analytics tools is that Attribution tracks at the visit level, where other tools track at the user level.
Attribution answers the question "you spent X and got Y conversions and revenue", which it can do per visitor because it sorts visits into filters by their URL and referrer; see Visits and visitors for how.
User-level tools answer a different question: "user X completed these events before reaching Y". That is the shape of behavioural questions, such as "which visitors spent the most over time?" or "how many of the visitors who subscribed to the Blue plan later completed event X?"
With the export you can join the two: your user-level data with Attribution's campaign-level data, spend and visits. The joined data answers questions that are both behavioural and financial. "Which visitors spend the most over time, and what did it cost us in Google Ads to acquire them?" "Which type of user generates the most MRR once advertising is accounted for?"
If you have any questions, write to [email protected].
Updated 10 days ago
