Skip to Content

BigQuery Table Schemas

Reference for all tables Vendo creates in your BigQuery dataset.

Orders Table

The 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
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

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

Events Table

Client-side events streamed to BigQuery. See Client-Side Events for the full schema and example payloads.

ColumnTypeDescription
idINTEGEREvent ID
subject_idINTEGERRelated entity ID
subject_typeSTRINGEntity type (Order, Customer, etc.)
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

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_codesSTRINGDiscount codes
buyer_accepts_marketingBOOLEANMarketing consent
source_nameSTRINGSource
note_attributesREPEATED RECORDCustom attributes
customerRECORDCustomer details
extracted_atTIMESTAMPSync timestamp
is_deletedBOOLEANDeletion flag

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 events e JOIN orders o ON e.subject_id = o.customer.id WHERE e.subject_type = 'Customer'
Last updated on