---
title: Shopify
description: Connect Shopify, understand its sync behavior, and query every table and column it writes.
species: reference
---
# Shopify

Connect Shopify with a shop domain and Admin API token. The source writes 19 fixed tables under `titan.shopify`.
```sql
select
  id,
  email,
  created_at
from titan.shopify.customers
limit 10
```

## Connect Shopify

1. Open **Apps**, choose **Connect app**, and select **Shopify**.
2. Enter a shop domain and Admin API token.
3. Review the tables, then save the source.
4. Watch **Sync history** until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

## Sync behavior

Shopify data arrives through resumable GraphQL bulk operations. A saved bulk-operation id lets the next run resume rather than begin again.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the [system columns](/v2/docs/concepts/your-lake#the-system-columns) `_synced_at` and `_deleted`; the column reference below lists source columns only.

## Table reference

### `customers`

`titan.shopify.customers` has 17 source columns.

```columns table=shopify.customers
id                                      integer pk          Source field `id`.
email                                   string              Source field `email`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
first_name                              string              Source field `firstName`.
last_name                               string              Source field `lastName`.
phone                                   string              Source field `phone`.
number_of_orders                        integer             Source field `numberOfOrders`.
multipass_identifier                    string              Source field `multipassIdentifier`.
note                                    string              Source field `note`.
state                                   string              Source field `state`.
tax_exempt                              boolean             Source field `taxExempt`.
amount_spent                            json                Source field `amountSpent`.
verified_email                          boolean             Source field `verifiedEmail`.
email_marketing_consent                 json                Source field `emailMarketingConsent`.
currency_code                           string              Source field `currencyCode`.
tags                                    json                Source field `tags`.
```

### `mailing_addresses`

`titan.shopify.mailing_addresses` has 17 source columns.

```columns table=shopify.mailing_addresses
id                                      integer pk          Source field `id`.
customer_id                             integer             Source field `customerId`.
first_name                              string              Source field `firstName`.
last_name                               string              Source field `lastName`.
address1                                string              Source field `address1`.
address2                                string              Source field `address2`.
city                                    string              Source field `city`.
company                                 string              Source field `company`.
coordinates_validated                   boolean             Source field `coordinatesValidated`.
phone                                   string              Source field `phone`.
country                                 string              Source field `country`.
country_code                            string              Source field `countryCode`.
province                                string              Source field `province`.
province_code                           string              Source field `provinceCode`.
zip                                     string              Source field `zip`.
latitude                                float               Source field `latitude`.
longitude                               float               Source field `longitude`.
```

### `orders`

`titan.shopify.orders` has 42 source columns.

```columns table=shopify.orders
id                                      integer pk          Source field `id`.
note                                    string              Source field `note`.
email                                   string              Source field `email`.
taxes_included                          boolean             Source field `taxesIncluded`.
currency_code                           string              Source field `currencyCode`.
name                                    string              Source field `name`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
subtotal_price_set                      json                Source field `subtotalPriceSet`.
total_tax_set                           json                Source field `totalTaxSet`.
total_price_set                         json                Source field `totalPriceSet`.
total_discounts_set                     json                Source field `totalDiscountsSet`.
total_tip_received_set                  json                Source field `totalTipReceivedSet`.
total_shipping_price_set                json                Source field `totalShippingPriceSet`.
current_total_price_set                 json                Source field `currentTotalPriceSet`.
current_total_discounts_set             json                Source field `currentTotalDiscountsSet`.
current_subtotal_price_set              json                Source field `currentSubtotalPriceSet`.
current_total_tax_set                   json                Source field `currentTotalTaxSet`.
original_total_duties_set               json                Source field `originalTotalDutiesSet`.
total_weight                            integer             Source field `totalWeight`.
source_name                             string              Source field `sourceName`.
client_ip                               string              Source field `clientIp`.
shipping_address                        json                Source field `shippingAddress`.
billing_address                         json                Source field `billingAddress`.
customer_id                             integer             Source field `customerId`.
retail_location                         json                Source field `retailLocation`.
app_id                                  integer             Source field `appId`.
po_number                               string              Source field `poNumber`.
display_financial_status                string              Source field `displayFinancialStatus`.
display_fulfillment_status              string              Source field `displayFulfillmentStatus`.
processed_at                            datetime            Source field `processedAt`.
customer_journey_summary                json                Source field `customerJourneySummary`.
cancel_reason                           string              Source field `cancelReason`.
cancelled_at                            datetime            Source field `cancelledAt`.
closed_at                               datetime            Source field `closedAt`.
customer_accepts_marketing              boolean             Source field `customerAcceptsMarketing`.
confirmed                               boolean             Source field `confirmed`.
presentment_currency_code               string              Source field `presentmentCurrencyCode`.
status_page_url                         string              Source field `statusPageUrl`.
tags                                    json                Source field `tags`.
transactions                            json                Source field `transactions`.
custom_attributes                       json                Source field `customAttributes`.
```

### `order_line_items`

`titan.shopify.order_line_items` has 23 source columns.

```columns table=shopify.order_line_items
id                                      integer pk          Source field `id`.
order_id                                integer             Source field `orderId`.
product_id                              integer             Source field `productId`.
variant_id                              integer             Source field `variantId`.
title                                   string              Source field `title`.
name                                    string              Source field `name`.
quantity                                integer             Source field `quantity`.
current_quantity                        integer             Source field `currentQuantity`.
variant                                 json                Source field `variant`.
tax_lines                               json                Source field `taxLines`.
vendor                                  string              Source field `vendor`.
sku                                     string              Source field `sku`.
custom_attributes                       json                Source field `customAttributes`.
discounted_unit_price_after_all_discounts_set  json                Source field `discountedUnitPriceAfterAllDiscountsSet`.
discounted_total_set                    json                Source field `discountedTotalSet`.
discounted_unit_price_set               json                Source field `discountedUnitPriceSet`.
original_total_set                      json                Source field `originalTotalSet`.
original_unit_price_set                 json                Source field `originalUnitPriceSet`.
taxable                                 boolean             Source field `taxable`.
total_discount_set                      json                Source field `totalDiscountSet`.
unfulfilled_original_total_set          json                Source field `unfulfilledOriginalTotalSet`.
unfulfilled_quantity                    integer             Source field `unfulfilledQuantity`.
variant_title                           string              Source field `variantTitle`.
```

### `discount_applications`

`titan.shopify.discount_applications` has 8 source columns.

```columns table=shopify.discount_applications
order_id                                integer pk          Source field `orderId`.
index                                   integer pk          Source field `index`.
target_selection                        string              Source field `targetSelection`.
target_type                             string              Source field `targetType`.
value                                   json                Source field `value`.
code                                    string              Source field `code`.
type                                    string              Source field `type`.
allocation_method                       string              Source field `allocationMethod`.
```

### `refunds`

`titan.shopify.refunds` has 6 source columns.

```columns table=shopify.refunds
id                                      integer pk          Source field `id`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
note                                    string              Source field `note`.
restock                                 boolean             Source field `restock`.
order_id                                integer             Source field `orderId`.
```

### `order_adjustments`

`titan.shopify.order_adjustments` has 6 source columns.

```columns table=shopify.order_adjustments
id                                      integer pk          Source field `id`.
order_id                                integer             Source field `orderId`.
refund_id                               integer             Source field `refundId`.
amount_set                              json                Source field `amountSet`.
tax_amount_set                          json                Source field `taxAmountSet`.
reason                                  string              Source field `reason`.
```

### `refund_line_items`

`titan.shopify.refund_line_items` has 10 source columns.

```columns table=shopify.refund_line_items
id                                      integer pk          Source field `id`.
refund_id                               integer             Source field `refundId`.
location_id                             integer             Source field `locationId`.
line_item_id                            integer             Source field `lineItemId`.
subtotal_set                            json                Source field `subtotalSet`.
price_set                               json                Source field `priceSet`.
total_tax_set                           json                Source field `totalTaxSet`.
quantity                                integer             Source field `quantity`.
restocked                               boolean             Source field `restocked`.
restock_type                            string              Source field `restockType`.
```

### `inventory_items`

`titan.shopify.inventory_items` has 16 source columns.

```columns table=shopify.inventory_items
id                                      integer pk          Source field `id`.
sku                                     string              Source field `sku`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
requires_shipping                       boolean             Source field `requiresShipping`.
unit_cost                               json                Source field `unitCost`.
country_code_of_origin                  string              Source field `countryCodeOfOrigin`.
province_code_of_origin                 string              Source field `provinceCodeOfOrigin`.
tracked                                 boolean             Source field `tracked`.
tracked_editable                        json                Source field `trackedEditable`.
inventory_history_url                   string              Source field `inventoryHistoryUrl`.
duplicate_sku_count                     integer             Source field `duplicateSkuCount`.
measurement                             json                Source field `measurement`.
harmonized_system_code                  string              Source field `harmonizedSystemCode`.
legacy_resource_id                      integer             Source field `legacyResourceId`.
variant_id                              integer             Source field `variantId`.
```

### `inventory_levels`

`titan.shopify.inventory_levels` has 5 source columns.

```columns table=shopify.inventory_levels
id                                      integer pk          Source field `id`.
inventory_item_id                       integer pk          Source field `inventoryItemId`.
location_id                             integer pk          Source field `locationId`.
updated_at                              datetime            Source field `updatedAt`.
quantities                              json                Source field `quantities`.
```

### `locations`

`titan.shopify.locations` has 6 source columns.

```columns table=shopify.locations
id                                      integer pk          Source field `id`.
address                                 json                Source field `address`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
is_active                               boolean             Source field `isActive`.
name                                    string              Source field `name`.
```

### `products`

`titan.shopify.products` has 14 source columns.

```columns table=shopify.products
id                                      integer pk          Source field `id`.
title                                   string              Source field `title`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
published_at                            datetime            Source field `publishedAt`.
handle                                  string              Source field `handle`.
product_type                            string              Source field `productType`.
vendor                                  string              Source field `vendor`.
status                                  string              Source field `status`.
template_suffix                         string              Source field `templateSuffix`.
tags                                    json                Source field `tags`.
description                             string              Source field `description`.
description_html                        string              Source field `descriptionHtml`.
featured_image                          json                Source field `featuredImage`.
```

### `product_variants`

`titan.shopify.product_variants` has 23 source columns.

```columns table=shopify.product_variants
id                                      integer pk          Source field `id`.
barcode                                 string              Source field `barcode`.
compare_at_price                        float               Source field `compareAtPrice`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
display_name                            string              Source field `displayName`.
inventory_item_id                       integer             Source field `inventoryItemId`.
inventory_quantity                      integer             Source field `inventoryQuantity`.
legacy_resource_id                      integer             Source field `legacyResourceId`.
position                                integer             Source field `position`.
price                                   float               Source field `price`.
product_id                              integer             Source field `productId`.
requires_components                     boolean             Source field `requiresComponents`.
selected_options                        json                Source field `selectedOptions`.
sellable_online_quantity                integer             Source field `sellableOnlineQuantity`.
show_unit_price                         boolean             Source field `showUnitPrice`.
sku                                     string              Source field `sku`.
taxable                                 boolean             Source field `taxable`.
tax_code                                string              Source field `taxCode`.
title                                   string              Source field `title`.
unit_price                              json                Source field `unitPrice`.
unit_price_measurement                  json                Source field `unitPriceMeasurement`.
image                                   json                Source field `image`.
```

### `tender_transactions`

`titan.shopify.tender_transactions` has 7 source columns.

```columns table=shopify.tender_transactions
id                                      integer pk          Source field `id`.
order_id                                integer             Source field `orderId`.
amount                                  json                Source field `amount`.
processed_at                            datetime            Source field `processedAt`.
payment_method                          string              Source field `paymentMethod`.
remote_reference                        string              Source field `remoteReference`.
test                                    boolean             Source field `test`.
```

### `order_transactions`

`titan.shopify.order_transactions` has 22 source columns.

```columns table=shopify.order_transactions
id                                      integer pk          Source field `id`.
order_id                                integer             Source field `orderId`.
created_at                              datetime            Source field `createdAt`.
processed_at                            datetime            Source field `processedAt`.
amount_rounding_set                     json                Source field `amountRoundingSet`.
amount_set                              json                Source field `amountSet`.
currency_exchange_adjustment            json                Source field `currencyExchangeAdjustment`.
error_code                              string              Source field `errorCode`.
formatted_gateway                       string              Source field `formattedGateway`.
gateway                                 string              Source field `gateway`.
kind                                    string              Source field `kind`.
location_id                             integer             Source field `locationId`.
parent_transaction_id                   integer             Source field `parentTransactionId`.
payment_id                              string              Source field `paymentId`.
receipt_json                            json                Source field `receiptJson`.
settlement_currency                     string              Source field `settlementCurrency`.
settlement_currency_rate                float               Source field `settlementCurrencyRate`.
status                                  string              Source field `status`.
test                                    boolean             Source field `test`.
total_unsettled_set                     json                Source field `totalUnsettledSet`.
user_id                                 integer             Source field `userId`.
amount                                  float               Source field `amount`.
```

### `fulfillments`

`titan.shopify.fulfillments` has 16 source columns.

```columns table=shopify.fulfillments
id                                      integer pk          Source field `id`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
delivered_at                            datetime            Source field `deliveredAt`.
display_status                          string              Source field `displayStatus`.
estimated_delivery_at                   datetime            Source field `estimatedDeliveryAt`.
in_transit_at                           datetime            Source field `inTransitAt`.
legacy_resource_id                      integer             Source field `legacyResourceId`.
location_id                             integer             Source field `locationId`.
order_id                                integer             Source field `orderId`.
name                                    string              Source field `name`.
requires_shipping                       boolean             Source field `requiresShipping`.
service                                 json                Source field `service`.
status                                  string              Source field `status`.
total_quantity                          integer             Source field `totalQuantity`.
tracking_info                           json                Source field `trackingInfo`.
```

### `metafields`

`titan.shopify.metafields` has 11 source columns.

```columns table=shopify.metafields
id                                      integer pk          Source field `id`.
created_at                              datetime            Source field `createdAt`.
updated_at                              datetime            Source field `updatedAt`.
type                                    string              Source field `type`.
key                                     string              Source field `key`.
value                                   string              Source field `value`.
json_value                              json                Source field `jsonValue`.
namespace                               string              Source field `namespace`.
owner_id                                integer             Source field `ownerId`.
owner_type                              string              Source field `ownerType`.
legacy_resource_id                      integer             Source field `legacyResourceId`.
```

### `staff_members`

`titan.shopify.staff_members` has 13 source columns.

```columns table=shopify.staff_members
id                                      integer pk          Source field `id`.
account_type                            string              Source field `accountType`.
active                                  boolean             Source field `active`.
avatar                                  json                Source field `avatar`.
email                                   string              Source field `email`.
exists                                  boolean             Source field `exists`.
first_name                              string              Source field `firstName`.
last_name                               string              Source field `lastName`.
name                                    string              Source field `name`.
initials                                json                Source field `initials`.
is_shop_owner                           boolean             Source field `isShopOwner`.
locale                                  string              Source field `locale`.
phone                                   string              Source field `phone`.
```

### `product_images`

`titan.shopify.product_images` has 6 source columns.

```columns table=shopify.product_images
id                                      integer pk          Source field `id`.
product_id                              integer             Source field `productId`.
url                                     string              Source field `url`.
width                                   integer             Source field `width`.
height                                  integer             Source field `height`.
alt_text                                string              Source field `altText`.
```

## Deletes and history

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets `_deleted` so queries can choose whether to include history. Filter current-state queries with `where not _deleted`.
