Before you set up data destinations to load user-level conversions and event data into your database or platform, learn about the different data schemas that are available.
- For general info about Singular data destinations, how they work, and the different types of data that can be exported, see Singular Data Destinations (ETL) FAQ.
When you use Singular data destinations, Singular standardizes data from different sources into the same data schema so you can easily query on it in your database.
Singular offers different data schemas you can choose from. Each schema defines a different set of dimensions and metrics that the Singular data destination will load into your database. Use the table below to help you choose the data schema that best fits your needs.
Data Schema Options
Note: The fields in the Attributions and Events schemas are the same fields Singular offers when you download logs from the attribution tracker. For more information about each field, see Exporting Attribution Logs. To learn about the different timestamp fields, see Timestamp Meanings and Formats below.
Attributions Schema |
Events Schema |
---|---|
etl_record_processing_hour_utc device_id device_id_type platform event_timestamp event_timestamp_unix_utc is_fingerprinted is_reengagement is_view_through method app_longname app_version city country custom_user_ids os_version state store device_make device_model gaid gaid_md5 gaid_sha_1 idfa idfa_md5 idfa_sha_1 waid idfv android_id android_id_md5 android_sha1 touchpoint_timestamp touchpoint_timestamp_unix_utc touchpoint_ip passthrough partner singular_partner_name affiliate_id affiliate_name bid_type campaign_id campaign_name click_id creative_id creative_name publisher_concatenated publisher_hashed_id publisher_id publisher_name sub_campaign_id sub_campaign_name sub_publisher_id sub_publisher_name singular_campaign_name tracker_name fraud_reason fraud_status google_click_id |
etl_record_processing_hour_utc device_id device_id_type platform adjusted_timestamp adjusted_timestamp_unix_utc app_longname app_version arguments converted_currency converted_revenue currency custom_user_id name os_version ip product_category product_name product_price product_quantity product_sku revenue server_timestamp server_timestamp_unix_utc session_id attribution_event_timestamp attribution_event_timestamp_unix_utc is_fingerprinted is_reengagement is_view_through city country install_source state touchpoint_timestamp touchpoint_timestamp_unix_utc tag_id passthrough partner affiliate_id affiliate_name bid_type campaign_id campaign_name click_id creative_id creative_name publisher_concatenated publisher_hashed_id publisher_id publisher_name sub_campaign_id sub_campaign_name sub_publisher_id sub_publisher_name singular_campaign_name tracker_name received_revenue received_revenue_event is_revenue_receipt_included is_revenue_valid |
Appendix: Timestamp Meanings and Formats
Tip: Singular provides several timestamp fields for each row of data. Most timestamp fields have two versions, e.g., "event_timestamp" and "event_timestamp_unix_utc".
- Fields ending in _timestamp are formatted as a timezone-aware timestamp column in database destinations, and as a timestamp with timezone information for file-based destinations (S3/SFTP/GCS).
- Fields ending in _timestamp_unix_utc contain the time in UNIX timestamp format (integer) in UTC.
Timestamp Field | Description |
etl_record_processing_hour_utc | The time in which the data was fully processed by Singular. This may be later than the time of the event or the server timestamp. Every hour, Singular updates this value for data that was fully processed during the previous hour. |
Attributions | |
event_timestamp event_timestamp_unix_utc |
The time in which the attribution event (e.g., the install) happened on the device. |
touchpoint_timestamp touchpoint_timestamp_unix_utc |
The time of the touchpoint (ad click or ad impression) that led to the attribution event. |
Events | |
adjusted_timestamp adjusted_timestamp_unix_utc |
The time in which the event actually happened on the device. |
server_timestamp server_timestamp_unix_utc |
The time in which the event was received by Singular servers. Note: this may be significantly different from the adjusted_timestamp if there was a technical delay in sending the event data. |
attribution_event_timestamp attribution_event_timestamp_unix_utc |
The time in which the attribution event (e.g., the app install) happened on the device. |
touchpoint_timestamp touchpoint_timestamp_unix_utc |
The time of the touchpoint (ad click or ad impression) that led to the attribution event. |
Changing the Data Schema
Once you create and save the data destination, you cannot switch to another data schema. This is because changing the table structure in a live database with existing data comes with a number of dangers and complications.
If you need a data schema change, simply create a new destination. You can either delete the old table before creating the new destination or configure the new destination to load data to a new table with a different name. This process will ensure that your data stays safe and existing queries and work-loads continue working.