# Sailthru schema ERD

Table and field reference for the Fivetran Sailthru connector.

## Table & Field Reference

### campaign_repeat_error

| Column | Type | Keys |
| --- | --- | --- |
| error_id | Int | PK |
| campaign_repeat_id | String | PK, FK |
| error | String |  |

### es_client

| Column | Type | Keys |
| --- | --- | --- |
| client_id | Long | PK |
| account_id | Long |  |
| name | String |  |

### campaign_repeat_day_of_month

| Column | Type | Keys |
| --- | --- | --- |
| campaign_repeat_id | String | PK |
| day | Int | PK |

### es_triggered_sends

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| flow_id | String |  |
| is_basic | Boolean |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| template_id | Long |  |

### es_campaign_clicks

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| browser | String |  |
| campaign_id | Long |  |
| client_id | Long |  |
| count | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| index | Long |  |
| ip | String |  |
| ip_type | String |  |
| is_real_click | String |  |
| list_id | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| url | String |  |
| url_count | Long |  |
| user_agent | String |  |

### campaign_repeat_day_of_week

| Column | Type | Keys |
| --- | --- | --- |
| campaign_repeat_id | String | PK |
| day | String | PK |

### template_team

| Column | Type | Keys |
| --- | --- | --- |
| team_id | Int | PK |
| template_id | String | PK, FK |
| team_name | String |  |

### es_campaign

| Column | Type | Keys |
| --- | --- | --- |
| campaign_id | Long | PK |
| client_id | Long |  |
| create_time | Instant |  |
| data_feed_url | String |  |
| email_hour_range | String |  |
| from_email | String |  |
| from_name | String |  |
| list_name | String |  |
| name | String |  |
| preheader | String |  |
| replyto_email | String |  |
| report_email | String |  |
| schedule_time | Instant |  |
| start_time | Instant |  |
| subject | String |  |
| suppress_list | String |  |
| template_id | Long |  |

### es_triggered_opens

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| browser | String |  |
| client_id | Long |  |
| count | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| flow_id | String |  |
| ip | String |  |
| ip_type | String |  |
| is_basic | Boolean |  |
| is_real_open | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| template_id | Long |  |
| user_agent | String |  |

### purchase_item

| Column | Type | Keys |
| --- | --- | --- |
| index | Int | PK |
| _fivetran_purchase_id | String | PK, FK |
| item | String |  |
| quantity | Int |  |
| unit_price | String |  |
| url | String |  |

### es_template

| Column | Type | Keys |
| --- | --- | --- |
| template_id | Long | PK |
| client_id | Long |  |
| create_time | Instant |  |
| create_user | String |  |
| data_feed_url | String |  |
| from_email | String |  |
| from_name | String |  |
| is_basic | Boolean |  |
| modify_time | Instant |  |
| modify_user | String |  |
| name | String |  |
| preheader | String |  |
| replyto_email | String |  |
| subject | String |  |

### es_triggered_clicks

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| browser | String |  |
| client_id | Long |  |
| count | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| flow_id | String |  |
| index | Long |  |
| ip | String |  |
| ip_type | String |  |
| is_basic | Boolean |  |
| is_real_click | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| template_id | Long |  |
| url | String |  |
| url_count | Long |  |
| user_agent | String |  |

### ad_plan_schedule

| Column | Type | Keys |
| --- | --- | --- |
| day | String | PK |
| plan_id | String | PK |

### campaign_seed_email

| Column | Type | Keys |
| --- | --- | --- |
| seed_email_id | Int | PK |
| campaign_id | String | PK, FK |
| email | String |  |

### es_campaign_sends

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| campaign_id | Long |  |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| list_id | String |  |
| list_name | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| subject | String |  |
| template_id | Long |  |

### es_triggered_bounces

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| is_basic | Boolean |  |
| message_type | String |  |
| profile_id | String |  |
| reason_log | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| template_id | Long |  |

### campaign_query

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_campaign_query_id | String | PK |
| campaign_id | String | FK |
| user_id | String | FK |
| click_time | Instant |  |
| device | String |  |
| open_time | Instant |  |
| purchase_time | Instant |  |
| send_time | Instant |  |

### es_triggered_unsubscribes

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| is_basic | Boolean |  |
| message_type | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| template_id | Long |  |

### campaign_click

| Column | Type | Keys |
| --- | --- | --- |
| click_id | Int | PK |
| _fivetran_campaign_query_id | String | PK, FK |
| click_time | Instant |  |
| click_url | String |  |

### campaign

| Column | Type | Keys |
| --- | --- | --- |
| blast_id | String | PK |
| list_id | String | FK |
| template_id | String | FK |
| app_badge | String |  |
| app_data | String |  |
| app_id | String |  |
| app_sound | String |  |
| content_app | String |  |
| content_html | String |  |
| context_text | String |  |
| copy_template | String |  |
| data_feed_url | String |  |
| email_count | String |  |
| email_hour_range | String |  |
| end_time | Instant |  |
| from_email | String |  |
| from_name | String |  |
| is_google_analytics | String |  |
| is_link_tracking | Boolean |  |
| is_public | Boolean |  |
| list | String |  |
| mode | String |  |
| modify_time | Instant |  |
| modify_user | String |  |
| name | String |  |
| replyto | String |  |
| report_email | String |  |
| schedule_time | Instant |  |
| start_time | Instant |  |
| status | String |  |
| subject | String |  |

### es_lifecycle_optimizer_flow

| Column | Type | Keys |
| --- | --- | --- |
| flow_id | String | PK |
| client_id | Long | FK |
| create_time | Instant |  |
| modify_time | Instant |  |
| name | String |  |
| version | String |  |

### es_campaign_bounces

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| campaign_id | Long |  |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| list_id | String |  |
| message_type | String |  |
| profile_id | String |  |
| reason_log | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |

### user_list

| Column | Type | Keys |
| --- | --- | --- |
| list_id | String | PK, FK |
| user_id | String | PK, FK |
| list_signup | Instant |  |

### es_campaign_opens

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| browser | String |  |
| campaign_id | Long |  |
| client_id | Long |  |
| count | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| ip | String |  |
| ip_type | String |  |
| is_real_open | String |  |
| list_id | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |
| user_agent | String |  |

### user

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| email_hash | String |  |
| email_status | String |  |
| last_pageview | Instant |  |
| optout_time | Instant |  |
| pageviews | Int |  |
| profile_created_date | Instant |  |
| purchase_incomplete | Int |  |
| top_device | String |  |

### list_stat

| Column | Type | Keys |
| --- | --- | --- |
| count_time | Instant | PK |
| list | String | PK, FK |
| active_count | Int |  |
| disengaged_count | Int |  |
| dormant_count | Int |  |
| email_count | Int |  |
| emailable_count | Int |  |
| engaged_count | Int |  |
| hardbounce_count | Int |  |
| lists_count | Int |  |
| lists_remove_count | Int |  |
| lists_signup_count | Int |  |
| new_count | Int |  |
| optout_count | Int |  |
| optout_loss_count | Int |  |
| passive_count | Int |  |
| spam_count | Int |  |
| spam_loss_count | Int |  |
| valid_count | Int |  |

### template_label

| Column | Type | Keys |
| --- | --- | --- |
| label_id | Int | PK |
| template_id | String | PK, FK |
| label_name | String |  |

### campaign_repeat

| Column | Type | Keys |
| --- | --- | --- |
| repeat_id | String | PK |
| create_time | Instant |  |
| create_user | String |  |
| data_feed_url | String |  |
| end_date | Instant |  |
| error_time | Instant |  |
| generate_time | String |  |
| list | String |  |
| modify_time | Instant |  |
| modify_user | String |  |
| name | String |  |
| report_email | String |  |
| send_time | String |  |
| start_date | Instant |  |
| status | String |  |
| template | String |  |

### purchase

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_purchase_id | String | PK |
| campaign_id | String | FK |
| user_id | String | FK |
| channel | String |  |
| date | String |  |
| extid | String |  |

### ad_plan_zone

| Column | Type | Keys |
| --- | --- | --- |
| plan_id | String | PK |
| zone | Int | PK |
| height | String |  |
| name | String |  |
| width | String |  |

### template_tag

| Column | Type | Keys |
| --- | --- | --- |
| tag_id | Int | PK |
| template_id | String | PK, FK |
| tag_name | String |  |

### campaign_supress_list

| Column | Type | Keys |
| --- | --- | --- |
| campaign_id | String | PK, FK |
| list_id | String | PK, FK |

### ad_plan

| Column | Type | Keys |
| --- | --- | --- |
| plan_id | String | PK |
| list | String |  |
| name | String |  |

### campaign_label

| Column | Type | Keys |
| --- | --- | --- |
| label_id | Int | PK |
| campaign_id | String | PK, FK |
| label_name | String |  |

### list

| Column | Type | Keys |
| --- | --- | --- |
| list_id | String | PK |
| create_time | Instant |  |
| description | String |  |
| list | String |  |
| primary | Boolean |  |
| public_name | String |  |
| send_time | Instant |  |
| type | String |  |
| vars | Json |  |

### campaign_repeat_supress_list

| Column | Type | Keys |
| --- | --- | --- |
| campaign_repeat_id | String | PK, FK |
| list_id | String | PK, FK |

### template

| Column | Type | Keys |
| --- | --- | --- |
| template_id | String | PK |
| data_feed_url | String |  |
| is_disabled | Boolean |  |
| mode | String |  |
| modify_time | Instant |  |
| name | String |  |
| sample | String |  |
| subject | String |  |

### es_campaign_unsubscribes

| Column | Type | Keys |
| --- | --- | --- |
| message_id | String | PK |
| campaign_id | Long |  |
| client_id | Long |  |
| email_md_5 | String |  |
| email_sha_256 | String |  |
| engagement | String |  |
| event_id | String |  |
| event_time | Instant |  |
| list_id | String |  |
| message_type | String |  |
| profile_id | String |  |
| send_time | Instant |  |
| signup_time | Instant |  |

## Relationships

- campaign_repeat_error(campaign_repeat_id) → campaign_repeat(repeat_id)
- template_team(template_id) → template(template_id)
- purchase_item(_fivetran_purchase_id) → purchase(_fivetran_purchase_id)
- campaign_seed_email(campaign_id) → campaign(blast_id)
- campaign_query(campaign_id) → campaign(blast_id)
- campaign_query(user_id) → user(id)
- campaign_click(_fivetran_campaign_query_id) → campaign_query(_fivetran_campaign_query_id)
- campaign(template_id) → template(template_id)
- campaign(list_id) → list(list_id)
- es_lifecycle_optimizer_flow(client_id) → es_client(client_id)
- user_list(list_id) → list(list_id)
- user_list(user_id) → user(id)
- list_stat(list) → list(list_id)
- template_label(template_id) → template(template_id)
- purchase(user_id) → user(id)
- purchase(campaign_id) → campaign(blast_id)
- template_tag(template_id) → template(template_id)
- campaign_supress_list(campaign_id) → campaign(blast_id)
- campaign_supress_list(list_id) → list(list_id)
- campaign_label(campaign_id) → campaign(blast_id)
- campaign_repeat_supress_list(campaign_repeat_id) → campaign_repeat(repeat_id)
- campaign_repeat_supress_list(list_id) → list(list_id)
