Additional Scripts - Replace "order.{anything}" with “checkout.order_id”

Solved

Additional Scripts - Replace "order.{anything}" with “checkout.order_id”

carl_ft
Visitor
2 0 1

Hi,

 

We have received an email from Shopify advising we need to "Replace "order.{anything}" with “checkout.order_id” in Additional Scripts and similarly update any downstream systems that rely on this data".

 

In our additional script we have two "order." references, {{ order.order_number }} and {{ order.currency }}.
Please can someone confirm is they should both be replaced with {{ checkout.order_id }}, or should {{ checkout.currency }} be used for the latter?

 

Thanks in advance,

Carl

Accepted Solution (1)

Mac
Shopify Staff
1692 177 282

This is an accepted solution.

Hi @carl_ft!

You have received this email because your additional scripts on the Thank you page reference the Liquid order object. You can verify these references by following these steps:

  1. Navigating to Additional Scripts:

 

    * From your Shopify admin dashboard, go to Settings > Checkout.

    * Scroll down to the Order status page section
    * Locate the Additional scripts input box.

 

Mac_0-1718653486517.png

  1. Locating and Reviewing the Code:

     * The input box displays only the first 5 lines of code.

     * To view the entire code block, highlight all the content within the input box, making sure to scroll down all the way.

     * Copy the highlighted content and paste it into a text editor of your choice.

     * This will allow you to easily review and identify all instances of the order object within the code.

Why?

Order creation on Shopify is asynchronous, meaning the Thank you page is likely to load before an order is created. When this happens the Liquid order object isn't always populated. This means Critical 3rd party systems like Google ads and analytics should not rely on the order object on the Thank you page. By contrast, the Order status page only renders when an order has been created, so it is safe to reference the order object on that page.

 

Solution

If you have tracking scripts for when an order completes, there are a couple of options available to you to resolve this:

  1.  Move your analytics to app pixels: App pixels are great because they do not require coding. Shopify has a dedicated team to ensure your analytics flow smoothly. Additionally, some apps come with Server Pixels, which ​​deliver higher quality data to partners, helping to reduce the cost of acquiring new customers such as the Google & Youtube channel and Facebook & Instagram.
  2. Move to custom pixels: If there isn’t yet an app pixel that fulfills your requirements, you could consider a custom pixel.  For example, a common use case for custom pixels is Google Tag Manager which you can learn to set up through this guide. Setting up a custom pixel requires some technical knowledge and you might want to consider hiring a Shopify Expert.
  3. Update your existing Additional Scripts: This approach requires some coding. A Shopify Expert can assist you with this. However, be aware that this is not a long-term solution, as the Order Status Page additional scripts are deprecated and will eventually be discontinued. If you have a custom script that cannot be migrated to Pixels, you'll need to:
    1. Modify it to eliminate dependencies on the Liquid order object (e.g., order.email or order.line_items) with available references from the Liquid checkout object. This is identified in the email as order.{anything} or checkout.order.{anything}.
    2. Replace references used to identify the order such as order.name, order.number, checkout.order_number, and checkout.order_name with checkout.order_id. This is a different number that is consistent across checkout and the order. Please note, downstream systems that use this to reference the order will also need to be updated to match.

Mac | Social Care @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

View solution in original post

Replies 6 (6)

aliplumbing
Visitor
1 0 0

Thanks I had a same question also where is Additional Scripts? I cant find it under Edit code. 

carl_ft
Visitor
2 0 1

Additional scripts are located under Settings > Checkout, in the 'Order status page additional scripts' section

benleivian
Shopify Partner
1 0 0

Looking for clarity on this as well. Feels like there was a typo in the email and it should be:
> Replace "order.{anything}" with “checkout.{anything}"

 

Please confirm, thanks.

Mac
Shopify Staff
1692 177 282

This is an accepted solution.

Hi @carl_ft!

You have received this email because your additional scripts on the Thank you page reference the Liquid order object. You can verify these references by following these steps:

  1. Navigating to Additional Scripts:

 

    * From your Shopify admin dashboard, go to Settings > Checkout.

    * Scroll down to the Order status page section
    * Locate the Additional scripts input box.

 

Mac_0-1718653486517.png

  1. Locating and Reviewing the Code:

     * The input box displays only the first 5 lines of code.

     * To view the entire code block, highlight all the content within the input box, making sure to scroll down all the way.

     * Copy the highlighted content and paste it into a text editor of your choice.

     * This will allow you to easily review and identify all instances of the order object within the code.

Why?

Order creation on Shopify is asynchronous, meaning the Thank you page is likely to load before an order is created. When this happens the Liquid order object isn't always populated. This means Critical 3rd party systems like Google ads and analytics should not rely on the order object on the Thank you page. By contrast, the Order status page only renders when an order has been created, so it is safe to reference the order object on that page.

 

Solution

If you have tracking scripts for when an order completes, there are a couple of options available to you to resolve this:

  1.  Move your analytics to app pixels: App pixels are great because they do not require coding. Shopify has a dedicated team to ensure your analytics flow smoothly. Additionally, some apps come with Server Pixels, which ​​deliver higher quality data to partners, helping to reduce the cost of acquiring new customers such as the Google & Youtube channel and Facebook & Instagram.
  2. Move to custom pixels: If there isn’t yet an app pixel that fulfills your requirements, you could consider a custom pixel.  For example, a common use case for custom pixels is Google Tag Manager which you can learn to set up through this guide. Setting up a custom pixel requires some technical knowledge and you might want to consider hiring a Shopify Expert.
  3. Update your existing Additional Scripts: This approach requires some coding. A Shopify Expert can assist you with this. However, be aware that this is not a long-term solution, as the Order Status Page additional scripts are deprecated and will eventually be discontinued. If you have a custom script that cannot be migrated to Pixels, you'll need to:
    1. Modify it to eliminate dependencies on the Liquid order object (e.g., order.email or order.line_items) with available references from the Liquid checkout object. This is identified in the email as order.{anything} or checkout.order.{anything}.
    2. Replace references used to identify the order such as order.name, order.number, checkout.order_number, and checkout.order_name with checkout.order_id. This is a different number that is consistent across checkout and the order. Please note, downstream systems that use this to reference the order will also need to be updated to match.

Mac | Social Care @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

mtemarketing
Visitor
3 0 0

I have looked in our Additional Scripts coding and there is no "order.{anything}" code in there. Does this mean we don't need to worry about anything or should this have been in there somewhere initially? Thanks!

lynth
Shopify Partner
82 3 7

If you have the checkout.liquid file (only for Shopify Pro) check there also, if not you don't need to worry about anything. 

Before August 13, 2024, you won't have access there anymore, and you have to move the whole code to the additional scripts (before August 28, 2025). 

If my tips are useful, just mark it as the solution. Cheers!
Feeling grateful? Buy me a coffee!