All things Shopify and commerce
Hi! Our store is running for quite some time and most of the time, the confirmation ID that we get from our customers is in default format which is #1001, #1002, #2872, and so on. However, there are a few order IDs that are in letter format on the confirmation page. But upon checking in the orders (admin), it is in the default format. It's causing a delay in identifying orders so what seems to be the reason why is it happening?
Confirmation page in Checkout
Orders Page (Admin)
Solved! Go to the solution
This is an accepted solution.
Hello Raphael,
We met that issue too for our store, and I contacted Shopify Plus Support, here is the reply:
"In instances of slow order number generations, customers were sometimes faced with a thank you page with no information where it was typically an order number. Sometimes the wait period can cause confusion and in some rare instances, some order numbers are duplicated for orders placed at the same time (i.e. flash sales). In order to make the checkout flow more efficient and reduce confusion/wait times for the customer, a confirmation number will be generated in its place (if needed)."
"To reduce confusion, buyers will now see a temporary Confirmation Number on the Thank You page after an order is placed. The confirmation number is a randomized, non-sequential alphanumeric serial."
"If you are provided only a confirmation number by a customer, you will still be able to search for the order on your Global search as well as the Orders page.
If the customer refreshes the Thank You page after an order number has been generated, the confirmation number will be replaced by the order number. If you want to verify what a customer’s Confirmation number is, you will also be able to locate it in the orders timeline section on the Orders detail page."
So it's Shopify's basic functionality, I don't think we can resolve it...
Hi, I'm having the exact same problem with my store (noticed it yesterday, haven't used it since January). Also, I'm using the REST API to try and identify/validate payments on the go (asking the customer what their confirmation number is), but this new 9-character confirmation string seems to be useless, as I can't find it anywhere in the JSON responses I'm getting when querying my orders.
It's also unclear to me under what circumstances customers see this "extended" confirmation number instead of the shorter one. Is it a matter of platform (iOS vs Android vs desktop)? Browser?
Thanks to anyone who can shed some light on this!
This is an accepted solution.
Hello Raphael,
We met that issue too for our store, and I contacted Shopify Plus Support, here is the reply:
"In instances of slow order number generations, customers were sometimes faced with a thank you page with no information where it was typically an order number. Sometimes the wait period can cause confusion and in some rare instances, some order numbers are duplicated for orders placed at the same time (i.e. flash sales). In order to make the checkout flow more efficient and reduce confusion/wait times for the customer, a confirmation number will be generated in its place (if needed)."
"To reduce confusion, buyers will now see a temporary Confirmation Number on the Thank You page after an order is placed. The confirmation number is a randomized, non-sequential alphanumeric serial."
"If you are provided only a confirmation number by a customer, you will still be able to search for the order on your Global search as well as the Orders page.
If the customer refreshes the Thank You page after an order number has been generated, the confirmation number will be replaced by the order number. If you want to verify what a customer’s Confirmation number is, you will also be able to locate it in the orders timeline section on the Orders detail page."
So it's Shopify's basic functionality, I don't think we can resolve it...
Hello,
We use the Checkout thank you page to send some analytics events which contain the order name and order ID. Can this new confirmation ID be accessed via liquid? the same way we can access {{ order.id }} or {{ order.name }} ?
Hello,
we have the same issue, there is an Analytics Script running on the thank you page that reports the Order ID to a platform we work with. When the Thank you page provides this random Temporary Confirmation , our script cant run and it doesnt return any data!
Can anyone help us resolve this issue?
For us the temporary solution was to check wether order.id exists in the data, if it doesn't we then force a page reload and it then fixes the issue.
I contacted Shopify and they don't have a solution for this problem. It seems that for some customers the creation of the order takes a bit longer than expected so when the order confirmation page is shown, the order has not been fully created and hence why a temporary confirmation order id is used instead.
Hope this helps!
Sounds like an interesting idea, if it worked for you, would it be possible to give us the piece of code that checks if order id exists and if not, it forces for site reload?
Thanks in advance
I have a Shopify Plus account so I'm able to access the checkout liquid file and add custom JavaScript.
In the checkout.liquid file add:
<body data-order-name="{{ checkout.order.name }}">
// ...here goes all the checkout form content
// At the bottom of the body add a script
<script type="text/jasvascript">
// Check's if the order name is available
if (!document.body.dataset.orderName) {
// Refreshes the page
window.location.reload()
}
</script>
</body>
I don't see any order name property in the dataset object. What page are you running this code on?
Not the best solution but hopefully it helps someone. You will have to update this to suit your needs. This isn't going to be foolproof. For example, if someone checks the order status page from multiple browsers it won't work. Ideally best way would be to utilize a backend to set metadata on order for a true "First time Accessed With Order Number"
Note this is for people who have not updated to the V2 Post Purchase yet.
{% assign line_item = checkout.order.line_items | first %}
{% if line_item == "" or line_item == nil %}
<script>
// Sometimes the order information isn't available in liquid on the thank you page, so we force a refresh which fixes it
location.reload();
</script>
{% endif %}
{% comment %} If you get this far, the order variable will be available for your script. {% endcomment %}
<script defer type="text/javascript">
function tracking_call() {
const key = `somePrefix-{{order.order_number}}`;
if(localStorage.getItem(key) === 'true') {
return;
}
localStorage.setItem(key, 'true');
// ... Put your Tracking stuff here ...
console.log("We are submitting Tracking information for Order ", {{order.order_number | json }});
}
if (['complete', 'interactive'].indexOf(document.readyState) >= 0) {
tracking_call();
} else {
window.addEventListener("DOMContentLoaded", function(){
tracking_call();
});
}
</script>
For my use case will work for probably 99% so not too worried. If anyone else knows how to:
1.) Get the confirmation number Via Liquid or
2.) A better solution
Let me know
If you require any help with Custom coding as well feel free to message or visit our website here
do we have any macro to get this confirmation code, just like we have order_number or order_name etc ?
This is NOT a solution and INCREASES confusion. Shopify should give me the option to enable this "feature". I would rather hide the confirmation number and tell the customer they will receive one by email.
So, this is a bigger problem for marketing tags on order confirmation page. If order object doesn't exist, it will mean that none of the purchase tags will fire (if you have GTM and firing bunch of tags). I just checked a site and seeing discrepancy of approx. 25% .. Not sure how much of it is due to this issue... Would like to hear if anyone has solved this issue for marketing tags.
same issue here. Solution about reloading the page is also not ideal. After we checked it with our 4bis.nl team, can confirm reloading the page will not hit 100%.
Je pense que le problème vient clairement de Shopify. Order saute systématiquement dans nos tracking, ce qui bloque la conversion. D'abord on à une suite de chiffres, puis si on refresh on à enfin l'ID de commande. Mais on ne devrait pas refresh.
Shopify il faut une solution, ça fait plusieurs mois que nous avons ce problème avec votre plateforme.
Hey Community! As we jump into 2025, we want to give a big shout-out to all of you wh...
By JasonH Jan 7, 2025Hey Community! As the holiday season unfolds, we want to extend heartfelt thanks to a...
By JasonH Dec 6, 2024Dropshipping, a high-growth, $226 billion-dollar industry, remains a highly dynamic bus...
By JasonH Nov 27, 2024