Skip to Content

BigQuery Table Schemas

Schema reference for the Shopify tables that the Vendo BigQuery destination creates in your dataset.

Last reviewed September 15, 2026

Reference for the Shopify tables that Vendo creates in your BigQuery dataset.

Orders Table

The shopify_orders table contains complete order information.

ColumnTypeDescription
idINTEGERShopify order ID
order_numberSTRINGDisplay order number
emailSTRINGCustomer email
created_atTIMESTAMPOrder creation time
updated_atTIMESTAMPLast update time
financial_statusSTRINGPayment status
fulfillment_statusSTRINGFulfillment state
currencySTRINGCurrency code
subtotal_priceFLOATOrder subtotal
total_priceFLOATOrder total
total_taxFLOATTax amount
total_discountsFLOATDiscount amount
total_shipping_price_setFLOATShipping cost
billing_addressRECORDBilling address details
shipping_addressRECORDShipping address details
line_itemsREPEATED RECORDProducts in order
customerRECORDCustomer information
discount_codesSTRINGDiscount codes used
discount_applicationsREPEATED RECORDDiscount details
payment_gateway_namesREPEATED STRINGPayment methods
tagsSTRINGOrder tags
noteSTRINGOrder notes
custom_order_attributesREPEATED RECORDCustom attributes
landing_siteSTRINGLanding page URL
referring_siteSTRINGReferrer URL
source_nameSTRINGOrder source
app_idINTEGERCreating app ID
app_nameSTRINGCreating app name
fulfillmentsREPEATED RECORDFulfillment records
refundsREPEATED RECORDRefund records
testBOOLEANTest order flag
confirmedBOOLEANConfirmation status
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Line Items Structure

Each line item in an order contains:

ColumnTypeDescription
idINTEGERLine item ID
product_idINTEGERProduct ID
variant_idINTEGERVariant ID
titleSTRINGProduct title
variant_titleSTRINGVariant title
skuSTRINGSKU
quantityINTEGERQuantity
priceFLOATUnit price
total_discountFLOATLine discount
vendorSTRINGVendor name
fulfillment_serviceSTRINGFulfillment service
fulfillment_statusSTRINGItem fulfillment status
gift_cardBOOLEANIs gift card
taxableBOOLEANIs taxable
tax_linesREPEATED RECORDTax details
propertiesREPEATED RECORDCustom properties
discount_allocationsREPEATED RECORDDiscount allocations

Fulfillments Structure

Nested within orders:

ColumnTypeDescription
idINTEGERFulfillment ID
order_idINTEGERParent order ID
statusSTRINGFulfillment status
shipment_statusSTRINGShipping status
serviceSTRINGFulfillment service
tracking_companySTRINGCarrier name
tracking_numberSTRINGTracking number
tracking_urlSTRINGTracking URL
tracking_numbersREPEATED STRINGAll tracking numbers
tracking_urlsREPEATED STRINGAll tracking URLs
delivery_dateTIMESTAMPDelivery confirmation
created_atTIMESTAMPFulfillment creation
updated_atTIMESTAMPLast update
line_itemsREPEATED RECORDFulfilled items
location_idINTEGEROrigin location
locationSTRINGLocation
receiptRECORDReceipt details
origin_addressRECORDShip-from address

Refunds Structure

Nested within orders:

ColumnTypeDescription
idINTEGERRefund ID
order_idINTEGERParent order ID
created_atTIMESTAMPRefund creation
processed_atTIMESTAMPProcessing time
refund_amountFLOATTotal refund amount
noteSTRINGRefund note
restockBOOLEANItems restocked
refund_line_itemsREPEATED RECORDRefunded items
transactionsREPEATED RECORDTransaction details
order_adjustmentsREPEATED RECORDOrder adjustments

Customers Table

The shopify_customers table contains customer information.

ColumnTypeDescription
idINTEGERShopify customer ID
emailSTRINGCustomer email
first_nameSTRINGFirst name
last_nameSTRINGLast name
phoneSTRINGPhone number
created_atTIMESTAMPAccount creation
updated_atTIMESTAMPLast update
orders_countINTEGERTotal orders
total_spentSTRINGLifetime spend
verified_emailBOOLEANEmail verified
accepts_marketingBOOLEANMarketing consent
tax_exemptBOOLEANTax exemption
tagsSTRINGCustomer tags
noteSTRINGAdmin notes
stateSTRINGMarketing state
addressesREPEATED RECORDSaved addresses
default_addressRECORDDefault address
email_marketing_consentRECORDEmail consent details
sms_marketing_consentRECORDSMS consent details
last_order_idINTEGERLast order ID
last_order_nameSTRINGLast order number
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Products Table

The shopify_products table contains product information.

ColumnTypeDescription
idINTEGERShopify product ID
admin_graphql_api_idSTRINGProduct GraphQL ID
titleSTRINGProduct title
handleSTRINGProduct handle
body_htmlSTRINGProduct description
product_typeSTRINGProduct type
vendorSTRINGVendor name
statusSTRINGProduct status
tagsSTRINGProduct tags
template_suffixSTRINGTheme template suffix
published_atTIMESTAMPPublication time
published_scopeSTRINGPublication scope
created_atTIMESTAMPProduct creation
updated_atTIMESTAMPLast update
imageRECORDMain image
imagesREPEATED RECORDAll images
optionsREPEATED RECORDProduct options
variantsREPEATED RECORDProduct variants
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Fulfillment Services Table

The shopify_fulfillment_services table contains the fulfillment services of the store.

ColumnTypeDescription
idINTEGERFulfillment service ID
admin_graphql_api_idSTRINGFulfillment service GraphQL ID
nameSTRINGService name
service_nameSTRINGService display name
handleSTRINGService handle
emailSTRINGService email
callback_urlSTRINGCallback URL
provider_idINTEGERProvider ID
location_idINTEGERService location ID
fulfillment_orders_opt_inBOOLEANUses fulfillment orders
include_pending_stockBOOLEANIncludes pending stock
inventory_managementBOOLEANTracks inventory
tracking_supportBOOLEANSupports tracking numbers
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Events Table

The shopify_admin_events table contains Shopify admin events. Client-side storefront events go to the events table. See Client-Side Events for that schema.

ColumnTypeDescription
idINTEGEREvent ID
subject_idINTEGERRelated entity ID
subject_typeSTRINGEntity type (for example, Order or Customer)
verbSTRINGEvent action
messageSTRINGEvent message
descriptionSTRINGEvent description
bodySTRINGEvent payload (JSON)
pathSTRINGURL path
authorSTRINGEvent author
argumentsREPEATED STRINGEvent arguments
created_atTIMESTAMPEvent timestamp
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Abandoned Checkouts Table

The shopify_abandoned_checkouts table contains abandoned checkout information.

ColumnTypeDescription
idINTEGERCheckout ID
tokenSTRINGCheckout token
emailSTRINGCustomer email
created_atTIMESTAMPCheckout creation
updated_atTIMESTAMPLast update
completed_atTIMESTAMPCompletion time (null if abandoned)
abandoned_checkout_urlSTRINGRecovery URL
currencySTRINGCurrency code
subtotal_priceFLOATCart subtotal
total_priceFLOATCart total
total_taxFLOATTax amount
total_discountsFLOATDiscounts applied
billing_addressRECORDBilling info
shipping_addressRECORDShipping info
line_itemsREPEATED RECORDCart items
discount_codesREPEATED RECORDDiscount codes
buyer_accepts_marketingBOOLEANMarketing consent
source_nameSTRINGSource
note_attributesREPEATED RECORDCustom attributes
customerRECORDCustomer details
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

Vendo Metadata Columns

Vendo adds these columns to each Shopify table that it copies (shopify_orders, shopify_customers, shopify_products, shopify_fulfillment_services, shopify_abandoned_checkouts and shopify_admin_events):

ColumnTypeDescription
_timestampTIMESTAMPSource time of the row (updated_at, created_at or extracted_at, set by table)
_vendo_export_job_idSTRINGID of the Vendo export job that wrote the row
_vendo_export_taskSTRINGExport task that wrote the row
_vendo_export_batchINTEGERBatch number in the export job
_vendo_export_delivery_idSTRINGDelivery ID of the write
_vendo_exported_atTIMESTAMPWhen Vendo wrote the row

Identity Tables

The Vendo ingest API writes identify calls to the users table, group calls to the groups table and alias calls to the aliases table.

Users Table

ColumnTypeDescription
event_idSTRINGUnique call ID
timestampTIMESTAMPWhen the call occurred
sent_atTIMESTAMPWhen the browser sent the call
received_atTIMESTAMPWhen the ingest API received it
user_idSTRINGUser ID
anonymous_idSTRINGAnonymous ID
emailSTRINGEmail
phoneSTRINGPhone number
nameSTRINGFull name
first_nameSTRINGFirst name
last_nameSTRINGLast name
created_atTIMESTAMPUser creation time
sourceSTRINGSource identifier
librarySTRINGTracking library
context_ipSTRINGIP address
context_user_agentSTRINGBrowser user agent
context_localeSTRINGBrowser language
contextJSONFull call context
traitsJSONUser traits

Groups Table

ColumnTypeDescription
event_idSTRINGUnique call ID
timestampTIMESTAMPWhen the call occurred
sent_atTIMESTAMPWhen the browser sent the call
received_atTIMESTAMPWhen the ingest API received it
group_idSTRINGGroup ID
group_typeSTRINGGroup type
nameSTRINGGroup name
sourceSTRINGSource identifier
librarySTRINGTracking library
context_ipSTRINGIP address
context_user_agentSTRINGBrowser user agent
context_localeSTRINGBrowser language
contextJSONFull call context
traitsJSONGroup traits

Aliases Table

ColumnTypeDescription
event_idSTRINGUnique call ID
timestampTIMESTAMPWhen the call occurred
sent_atTIMESTAMPWhen the browser sent the call
received_atTIMESTAMPWhen the ingest API received it
user_idSTRINGNew user ID
previous_idSTRINGEarlier ID that the alias links
anonymous_idSTRINGAnonymous ID
sourceSTRINGSource identifier
librarySTRINGTracking library
context_ipSTRINGIP address
context_user_agentSTRINGBrowser user agent
context_localeSTRINGBrowser language
contextJSONFull call context

Table Names in the Vendo Web App

When you add BigQuery as a destination in the Vendo web app, Vendo puts the source ID in front of each table name: {source_id}_{table}. For example, the orders table is {source_id}_orders. The default copied tables are orders, customers, products and events.

User Identification

Customer ID Mapping

SourceBigQuery ColumnDescription
Shopify Customer IDcustomer.idPrimary identifier
Emailcustomer.email / emailEmail address
Phonecustomer.phonePhone number

Joining Data

Link events to orders by customer:

SELECT e.*, o.order_number, o.total_price FROM shopify_admin_events e JOIN shopify_orders o ON e.subject_id = o.customer.id WHERE e.subject_type = 'Customer'
Need help?

When you contact support, give your workspace, the source or destination name, the job ID and the first error message.

support@vendodata.com
Last updated on