If someone refreshes the order confirmation page for an order, we don't want the conversion to get counted twice. Based on http://www.channeladvisor.com/webinars/slides/2012-Introducing-Google-Shopping.pdf
it looks like perhaps we can use google_conversion_order_id
to pass in the order ID to cause deduplication to happen automatically, but I don't see any official documentation for this variable. Does anyone know if it's something that's legitimate and we can use to accomplish this?
2 Answers
Google officially lists google_conversion_order_id
as a supported method for preventing duplication at https://support.google.com/adwords/answer/6386790?ctx=tltp. We also tested it and it appears to work as expected to prevent duplicates.
We had considered going with a server-side approach, but there are cases where the order gets submitted and thus the server registers the order and would consider the conversion tracking code to have been displayed, but for whatever reason, there's an issue with the internet connection or something and it just gets stuck on the page loading so would never track the conversion.
I'm not the type to link to a blog post and tell you that this solves your problem, but the best resource for this in my bookmarks is this blogpost on LunaMetrics:
Duplicate Transactions in Google Analytics – The Check and the Fix
I personally believe this should be handled server-side, so that if the cookie is detected for a repeat visitor to the 'goal' URL, don't render the conversion script but the article goes into much better detail for all the checks involved to execute this even on the client-side.
Server-side solutions, even something as basic as 'load the thank-you page once, then load alternate without conversion tracking', would help mitigate this for all your tracking pixels and scripts.