Schema · Entity relationship diagram
Shopify Customers tables and relationships
Customers with email and SMS marketing consent, addresses and tags, the store visits behind each order (first and last visit source, landing page, referrer, UTM parameters) and customer segments. Tables and columns are named after the Shopify Admin API and share one shopify schema with Shopify Orders, Shopify Products & Inventory, Shopify Payments & Payouts, Shopify Checkouts & Discounts, Shopify Analytics.
ConnectPaste an API key
Default schema
shopifySource API docshelp.shopify.com
DestinationsAmazon Redshift, Google BigQuery, Snowflake, PostgreSQL, Amazon S3
- The six Shopify connectors load into one
shopifyschema. The others: Shopify Orders, Shopify Products & Inventory, Shopify Payments & Payouts, Shopify Checkouts & Discounts, Shopify Analytics. Dashed boxes are their tables. - Tables and columns are named after the Shopify Admin GraphQL API (2026-07): a table per object (
Order→orders, itslineItems→order_line_items), a column per field path in snake_case (totalPriceSet.shopMoney.amount→total_price_set_shop_money_amount). Ids are the number in Shopify's global id, so they join across connectors. - Lists inside an object (tags, tax lines, custom attributes ...) are child tables keyed by the parent id and
index, replaced as a set whenever the parent changes._jsdata_syncedis the load time;_jsdata_deletedis always false. - Names, emails, phone numbers and street addresses load empty unless you turn on personal data; customer ids, city, province, country and email / SMS marketing consent are kept.
Primary keyForeign keyReferencesJoins on (not a key)
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 columnscustomers33 columns · Customersshow in diagram
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| idPrimary key. | bigint | PK | Primary key. |
| created_at | timestamp | ||
| updated_at | timestamp | ||
| first_name | varchar(65535) | ||
| last_name | varchar(65535) | ||
| display_name | varchar(65535) | ||
| note | varchar(65535) | ||
| state | varchar(256) | ||
| locale | varchar(65535) | ||
| verified_email | boolean | ||
| tax_exempt | boolean | ||
| data_sale_opt_out | boolean | ||
| lifetime_duration | varchar(65535) | ||
| product_subscriber_status | varchar(256) | ||
| number_of_orders | bigint | ||
| amount_spent_amount | decimal(38,9) | ||
| amount_spent_currency_code | varchar(256) | ||
| default_email_address_email_address | varchar(65535) | ||
| default_email_address_marketing_state | varchar(256) | ||
| default_email_address_marketing_opt_in_level | varchar(256) | ||
| default_email_address_marketing_updated_at | timestamp | ||
| default_email_address_valid_format | boolean | ||
| default_phone_number_phone_number | varchar(65535) | ||
| default_phone_number_marketing_state | varchar(256) | ||
| default_phone_number_marketing_opt_in_level | varchar(256) | ||
| default_phone_number_marketing_updated_at | timestamp | ||
| default_phone_number_marketing_collected_from | varchar(256) | ||
| default_address_idReferences customer_addresses.id. | bigint | FK | References customer_addresses.id. |
| last_order_idReferences orders.id. | bigint | FK | References orders.id. |
| statistics_predicted_spend_tier | varchar(256) | ||
| statistics_rfm_group | varchar(256) | ||
| _jsdata_deletedTrue when the record was deleted at the source. | boolean | True when the record was deleted at the source. | |
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
customer_addresses20 columns · Customersshow in diagram
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| customer_idReferences customers.id. | bigint | FK | References customers.id. |
| typename | varchar(256) | ||
| idPrimary key. | bigint | PK | Primary key. |
| first_name | varchar(65535) | ||
| last_name | varchar(65535) | ||
| name | varchar(65535) | ||
| company | varchar(65535) | ||
| address1 | varchar(65535) | ||
| address2 | varchar(65535) | ||
| city | varchar(65535) | ||
| province | varchar(65535) | ||
| province_code | varchar(65535) | ||
| country | varchar(65535) | ||
| country_code_v2 | varchar(256) | ||
| zip | varchar(65535) | ||
| phone | varchar(65535) | ||
| latitude | decimal(38,9) | ||
| longitude | decimal(38,9) | ||
| _jsdata_deletedTrue when the record was deleted at the source. | boolean | True when the record was deleted at the source. | |
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
segments7 columns · Customersshow in diagram
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| idPrimary key. | bigint | PK | Primary key. |
| name | varchar(65535) | ||
| queryThe segment definition (ShopifyQL). Segment membership is not included. | varchar(65535) | The segment definition (ShopifyQL). Segment membership is not included. | |
| creation_date | timestamp | ||
| last_edit_date | timestamp | ||
| _jsdata_deletedTrue when the record was deleted at the source. | boolean | True when the record was deleted at the source. | |
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |
customer_visits17 columns · Visitsshow in diagram
Primary key: id
| Column | Type | Key | Description |
|---|---|---|---|
| order_idReferences orders.id. The order this visit led to (source, landing page, referrer, UTM parameters of each visit). | bigint | FK | References orders.id. The order this visit led to (source, landing page, referrer, UTM parameters of each visit). |
| typename | varchar(256) | ||
| idPrimary key. | bigint | PK | Primary key. |
| occurred_at | timestamp | ||
| source | varchar(65535) | ||
| source_type | varchar(256) | ||
| source_description | varchar(65535) | ||
| landing_page | varchar(65535) | ||
| referrer_url | varchar(65535) | ||
| referral_code | varchar(65535) | ||
| utm_parameters_source | varchar(65535) | ||
| utm_parameters_medium | varchar(65535) | ||
| utm_parameters_campaign | varchar(65535) | ||
| utm_parameters_content | varchar(65535) | ||
| utm_parameters_term | varchar(65535) | ||
| _jsdata_deletedTrue when the record was deleted at the source. | boolean | True when the record was deleted at the source. | |
| _jsdata_syncedWhen jsdata last wrote this row. | timestamp | When jsdata last wrote this row. |