Need help updating Additional Scripts and customizing the Thank You page on Shopify

Hi everyone,

I received an email from Shopify about some changes needed to ensure proper conversion tracking and downstream systems functionality. The email stated:

  • Replace ‘order.{anything}’ with ‘checkout.order_id’ in Additional Scripts.
  • Update the Thank You page with app blocks and Web Pixels to eliminate the dependency on Liquid variables.

I would like to know if anyone has encountered this situation or knows how to address these issues. Specifically, I need help with:

Script Replacement:

Changing ‘order.{anything}’ to ‘checkout.order_id’ in Additional Scripts.
Customization of the Thank You Page:

Adding app blocks and Web Pixels to the Thank You page.

Post-Theme Change Verification:

Ensuring these changes remain effective if I change my store’s theme.
Any guidance or step-by-step instructions would be greatly appreciated.

Thank you!

A similar post was posted today with a solution. Here was that post:
Solved: Got email from Shopify - “order.{anything}” replace with “checkout.order_id” in additional… - Shopify Community

Hope this helped!

Hi @Cristina14

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.

  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.
1 Like