Skip to main content

Shopify Variables in Workflows

Shopify variables allow you to dynamically insert Shopify order and customer data into workflow messages based on the trigger event.

What Shopify Variables Do

Shopify variables pull real-time data from the trigger payload and insert it into messages. Variables only populate when the workflow is triggered by a supported event. If a variable is not supported by the trigger, it will return blank.


How to Use Shopify Variables

  1. Copy the variable exactly as shown (including curly braces).

  2. Paste it into a supported message field.

  3. Publish or run the workflow.

Example variable format:

{{order.id}}

Variables must match exactly. Any formatting errors will prevent them from populating.


Where You Can Use Shopify Variables

You can paste Shopify variables into:

  • Workflow email body

  • Workflow SMS body

  • Internal notification messages

  • Any text field that supports variables

No setup or custom values are required. Variables are automatically populated from the Shopify trigger.


How Variable Availability Works

Each variable depends on the trigger used.

  • YES = The variable will populate for that trigger.

  • = The variable will not populate and will return blank.

Always confirm the variable supports your selected trigger before using it.


Shopify Variable Reference

Order Information Variables

  • {{order.id}} — Available for Abandoned Checkout and Order Placed

  • {{order.number}} — Available for Order Placed only

  • {{order.order_status_url}} — Available for Order Placed only

  • {{order.abandoned_checkout_url}} — Available for Abandoned Checkout only

  • {{order.created_at}} — Available for both triggers

  • {{order.created_on}} — Available for both triggers

  • {{order.currency}} — Available for both triggers

  • {{order.currency_code}} — Available for both triggers

Customer Information Variables

  • {{order.customer.first_name}}

  • {{order.customer.last_name}}

  • {{order.customer.email}}

  • {{order.customer.phone}}

All customer variables are available for both Abandoned Checkout and Order Placed triggers.

Order Value Variables (Order Placed Only)

  • {{order.total_cart_price}}

  • {{order.discount_code}}

  • {{order.total_discounts}}

  • {{order.has_discount}}

  • {{order.subtotal_price}}

  • {{order.total_shipping_price}}

  • {{order.total_price}}

These variables only populate when the trigger is Order Placed.

Billing Address Variables (Order Placed Only)

  • {{order.billing_address.name}}

  • {{order.billing_address.company}}

  • {{order.billing_address.address1}}

  • {{order.billing_address.address2}}

  • {{order.billing_address.province}}

  • {{order.billing_address.zip}}

  • {{order.billing_address.country}}


Shipping Address Variables (Order Placed Only)

  • {{order.shipping_address.name}}

  • {{order.shipping_address.company}}

  • {{order.shipping_address.address1}}

  • {{order.shipping_address.address2}}

  • {{order.shipping_address.province}}

  • {{order.shipping_address.zip}}

  • {{order.shipping_address.country}}

  • {{order.requires_shipping}}


Advanced Variables (Coming Soon)

Order Line Items Loop

{{#each order.line_items as |item|}}
{{item.id}}
{{item.image}}
{{item.title}}
{{item.quantity}}
{{item.price}}
{{item.line_price}}
{{/each}}

Available for both triggers when released.


Order Tax Lines Loop

{{#each order.tax_lines as |tax|}}
{{tax.title}}
{{tax.rate}}
{{tax.price}}
{{/each}}

Available for order placement when released.


Example: Abandoned Checkout SMS

Trigger: Abandoned Checkout

Hi {{order.customer.first_name}}, you left items in your cart. Finish checkout here: {{order.abandoned_checkout_url}}

The checkout URL only populates for Abandoned Checkout triggers.


Example: Order Confirmation Email

Trigger: Order Placed

Thanks for your order {{order.number}} placed on {{order.created_on}}. 
Total: {{order.total_price}} {{order.currency_code}}.
Track your order: {{order.order_status_url}}

The order status URL only populates for Order Placed triggers.


Common Issues and Fixes

The variable shows as blank

The variable is not supported by the selected trigger. Use a variable that is marked as available for that trigger.

Variable does not populate correctly

The variable format may be incorrect.

Ensure:

  • Double curly braces are included

  • No extra spaces are added

  • The variable matches exactly

Customer data is missing

Some Shopify fields may not exist for the customer.

Example:

  • Phone may be blank if not provided during checkout

Wrong data appears in message

Confirm the correct variable is being used for the intended data field.


FAQ

Do Shopify variables require setup?

No. Shopify variables automatically populate from the trigger payload.

Can I use Shopify variables in any workflow?

No. Shopify variables only work when the workflow is triggered by a Shopify event.

Why is my variable not showing any value?

The variable may not be supported by the trigger, or the data may not exist in Shopify.

Can I use multiple variables in one message?

Yes. You can combine multiple variables in a single message.

Are advanced variables available now?

Advanced variables such as line items and tax lines are marked as coming soon and may not yet populate.

Did this answer your question?