Schema · Entity relationship diagram
Dash Social tables and relationships
Post performance across Instagram (feed, Reels, Stories, ads), TikTok, Facebook, Pinterest, YouTube, X, LinkedIn, Threads and Snapchat, refreshed daily with day-by-day metric snapshots, plus daily follower and account metrics per channel and your Dash Social campaigns. Formerly Dash Hudson.
dash_socialmediaholds the current state of every post (one row perbrand_media_id, all channels). The shared metric columns (likes, comments, views, reach...) are mapped from each platform's own fields;metricskeeps every metric Dash Social reports for the post as JSON.media_metrics_dailysnapshots each post's cumulative metrics on every sync day (posts from the last 90 days are refreshed daily), so you can see how engagement grows after posting.channel_metrics_dailyis long format: one row per brand, channel, metric and day (followers, net new followers, profile views, accounts reached...). Filter to one metric before summing; TOTAL_FOLLOWERS is a daily balance, not an amount to add up.media.campaign_idsis a JSON list of the Dash Social campaign ids a post belongs to (seecampaigns).
Drag to pan, scroll or pinch to zoom, click a table to see what it joins to.
Table reference
5 tables · click a table for its columnsmedia42 columns · Postsshow in diagram
Current state of every post across channels (PUT library-backend /brands/{id}/media/v2). Cross-channel metric columns are mapped from each platform's own fields; the full platform object (every metric Dash reports for that post) is in `metrics`.
Primary key: brand_media_id
| Column | Type | Key | Description |
|---|---|---|---|
| brand_media_idPrimary key. | bigint | PK | Primary key. |
| media_id | bigint | ||
| brand_idReferences brands.id. | bigint | FK | References brands.id. |
| brand_media_type | varchar(40) | ||
| source | varchar(40) | ||
| source_type | varchar(40) | ||
| type | varchar(40) | ||
| primary_media_type | varchar(40) | ||
| post_type | varchar(40) | ||
| source_id | varchar(255) | ||
| source_account_id | varchar(255) | ||
| source_created_at | timestamp | ||
| created_at | timestamp | ||
| updated_at | timestamp | ||
| brand_media_status | varchar(40) | ||
| media_group | bigint | ||
| caption | varchar(8000) | ||
| url | varchar(2500) | ||
| thumbnail_url | varchar(2500) | ||
| creator_handle | varchar(255) | ||
| likes | bigint | ||
| comments | bigint | ||
| shares | bigint | ||
| saves | bigint | ||
| views | bigint | ||
| reach | bigint | ||
| impressions | bigint | ||
| clicks | bigint | ||
| engagements | bigint | ||
| engagement_rate | decimal(18,6) | ||
| effectiveness | decimal(18,6) | ||
| emv | decimal(18,4) | ||
| duration_seconds | decimal(12,3) | ||
| predicted_engagement | decimal(18,6) | ||
| caption_sentiment | varchar(16) | ||
| comment_sentiment | varchar(16) | ||
| likeshop_clicks | bigint | ||
| content_tags | varchar(4000) | ||
| campaign_ids | varchar(2000) | ||
| metrics | varchar(65535) | ||
| refresh_date | date | ||
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
media_metrics_daily18 columns · Postsshow in diagram
One snapshot of each post's cumulative metrics per sync day (posts inside the trailing refresh window), for day-over-day growth.
Primary key: snapshot_key
| Column | Type | Key | Description |
|---|---|---|---|
| snapshot_keyPrimary key. | varchar(40) | PK | Primary key. |
| brand_media_idReferences media.brand_media_id. | bigint | FK | References media.brand_media_id. |
| brand_idReferences brands.id. | bigint | FK | References brands.id. |
| refresh_date | date | ||
| source | varchar(40) | ||
| source_created_at | timestamp | ||
| likes | bigint | ||
| comments | bigint | ||
| shares | bigint | ||
| saves | bigint | ||
| views | bigint | ||
| reach | bigint | ||
| impressions | bigint | ||
| clicks | bigint | ||
| engagements | bigint | ||
| engagement_rate | decimal(18,6) | ||
| emv | decimal(18,4) | ||
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
brands11 columns · Accountsshow in diagram
Brands the API key can read (GET auth.dashsocial.com/api/self).
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| idPrimary key. | bigint | PK | Primary key. |
| name | varchar(255) | ||
| label | varchar(255) | ||
| organization_id | bigint | ||
| organization_name | varchar(255) | ||
| is_active | boolean | ||
| avatar_url | varchar(2500) | ||
| plan_type | varchar(100) | ||
| created_at | timestamp | ||
| updated_at | timestamp | ||
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
channel_metrics_daily8 columns · Accountsshow in diagram
Account-level daily metrics per channel (followers, profile views, reach...), long format, from the Dashboard Reports API (GET /reports/data, GRAPH, DAILY).
Primary key: row_key
| Column | Type | Key | Description |
|---|---|---|---|
| row_keyPrimary key. | varchar(160) | PK | Primary key. |
| brand_idReferences brands.id. | bigint | FK | References brands.id. |
| channel | varchar(40) | ||
| metric | varchar(80) | ||
| metric_date | date | ||
| value | decimal(28,8) | ||
| refresh_date | date | ||
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
campaigns23 columns · Campaignsshow in diagram
Dash Social campaigns (GET library-backend /brands/{id}/campaigns) with Dash's own roll-ups.
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| idPrimary key. | bigint | PK | Primary key. |
| brand_idReferences brands.id. | bigint | FK | References brands.id. |
| name | varchar(1000) | ||
| start_date | timestamp | ||
| end_date | timestamp | ||
| created_at | timestamp | ||
| updated_at | timestamp | ||
| number_of_media | integer | ||
| earliest_media_published_date | timestamp | ||
| latest_media_published_date | timestamp | ||
| included_media_sources | varchar(2000) | ||
| included_ugc_sources | varchar(2000) | ||
| has_ugc | boolean | ||
| has_relationships | boolean | ||
| total_engagements | bigint | ||
| total_impressions | bigint | ||
| total_video_views | bigint | ||
| total_clicks | bigint | ||
| total_emv | decimal(18,4) | ||
| avg_engagements | decimal(18,4) | ||
| avg_engagement_rate | decimal(18,6) | ||
| avg_emv | decimal(18,4) | ||
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |