Discuss and resolve questions on Liquid, JavaScript, themes, sales channels, and site speed enhancements.
Hello, wondering if anybody has had any luck adding the Google Customer Reviews Opt-In Module after switching to the new checkout extensibility thank you page. If anybody has any insight, that would be appreciated.
We are also working on this as well. Waiting for Shopify Plus tech support to get back to us.
And now we are finding out that the new checkout extensibility has broken our current thank you page from popping up the survey for them.
Hey Max,
If you switch to checkout extensibility like we did it will probably break Google Customer Reviews as the objects (names) have changed.
"order_id": "{{ checkout.order_id }}",
"email": "{{ checkout.email }}",
"delivery_country": "{{ shipping_address.country_code }}",
"estimated_delivery_date": "{{ "now" | date:'%s' | plus:604800 | date: "%Y-%m-%d" }}",
Will let you know when we get the new tracking pixel thing working. Hopefully will hear back this week.
Thank you Pinkcherry! Yes, we have conversion tracking working now, but we have yet to get the customer reviews widget working. I'm wondering if this is a script that can be entered within 'Customer Events?'
Just got word back. The functionality is not there but they assured us that they know it's a missing feature and will have it in time for the end of life.
Not the best answer but getting to be the typical half baked rollouts (not just from Shopify).
Nathan...
Typical Shopify, I will update this thread if I find any solution.
-Max
Did they give an expected date that they might have this solved? I got a notice in admin this morning that we've got 30 days to upgrade to checkout extensibility.
Anyone have an update on this yet?
Still standing by for answer on this! I'm not sure why @Shopify hasn't chimed in.
Heard back from Google. They of course are refusing to help even though the Google Customer Reviews code is provided in Merchant Center along with instructions on using it. It's the usual failure to support anything. A growing trend with Google and Shopify:
Thank you for contacting gTech Customer Experience regarding your Merchant Center account. I am pleased to assist you.
I understand you contacted us regarding the post-purchase page on your Shopify account. I'll do my best to help you with this.
We apologize that due to resource limitations, we're unable to directly investigate or provide a resolution for this specific issue. In this case, I highly suggest reaching out to your web developer as the issue seems to fall outside of our scope as we focus on Merchant Center issues.
If you have further questions, feel free to reply to the same email thread and we would be happy to assist you.
Thank you for choosing gTech Customer Experience. We appreciate your relationship with us.
Hoping for a resolution for this soon. Any updates appreciated.
Based on the lack of response from our Success Manager over the last couple months I assume they thought it wasn't necessary and are now trying to find a solution. This has been known for quite sometime so yes it's surprising that they don't have a solution.
I did a bit more research on the web and found a solution another agency had created.
https://www.digitaldarts.com.au/google-customer-reviews-shopify
I'll be keeping on eye on reporting in Merchant Center to see if the opt-ins stay steady.
Thanks, that looks like what we needed. More precisely this is the anchor link were you find the needed config steps. You still have to read carefully what you have to customize. https://www.digitaldarts.com.au/google-customer-reviews-shopify#How-to-Set-Up-Google-Customer-Review...
Did as instructed and still not getting a pop-up on my post-purchase page. Will be keeping an eye out on the survey opt-ins on Merchant.
The reason the digitaldarts pixel does not work, and I have a similar code is that popups can not render in the new sandbox mode.
Reference: https://help.shopify.com/en/manual/promoting-marketing/pixels/overview#pixels-sandbox-limitations
For now, I recommend you keep the original additional script version.
I would assume, Google may change how customer reviews works before the deadline (next year)
I'm trying to follow these steps, including the tweaking of my store-specific data. I think I've done it correctly but the "connect pixel" button will not activate so I can click it. Stuff like this is enraging! Any idea why this might be happening?
The proposed solution doesn't work at all even if you do connect the pixel. The new post-purchase page doesn't allow anything to pop-up. Shopify has refused to help with this. I have spent hours dealing with their incompetent support. All they do is tell me to hire a developer or buy an app. Expense and work on my end to fix the problem they have caused. They should be refunding every customer affected by this so we can use that money to buy an app.
I have the same issue and our Microsoft Ads conversions tracking is in additional scripts, so we are losing two crucial functions. I have support tickets in with Shopify, Google, and Microsft to see if anyone can provide a solution. We are using the old thank you page until we can migrate our scripts to pixels or whatever solution they have.
Has anyone found a solution yet? I imagine it is going to take Google, or Shopify, or both working together, to come up with a solution.
I've been holding off on upgrading to the checkout extensibility, but got a notice in the admin this morning that we got 30 days to upgrade.
It's going to have a negative impact if we can no longer have the Google Customer Reviews opt-in popup on the thank you page.
I've contacted Shopify Support about it, and they were less than helpful.
Does anyone know how to contact Google Support? Reaching anyone at Google that knows what they are doing and gives a **bleep** is increasingly difficult these days.
I have a ticket in with Google. So far they have tried their best not to help me, but then they escalated to a higher support team. That was a few days ago and I am waiting. To contact them, just go to the help link at the top when you are in Google Ads.
Shopify has persistently refused to help at all. They just tell me to hire someone or buy an app. That's a ridiculous solution, knowing they are the ones who broke this. I now have no Google reviews coming in and from the research I have done, no pop-ups will work with the new post-purchase page, so there is essentially no solution for this. If I am given a big enough refund to pay for an app, I will move on and be happy, but refunding anything is something Shopify will never do unless forced to by a class-action lawsuit. That is actually what needs to happen.
From what I was told by the developer of the app I currently use for the popup, it cannot be done with an app with the new checkout extensibility. I feel that neither Shopify or Google see this as a pressing issue since they are too busy rolling out AI crap to replace support people. Count me in on that lawsuit.
As a workaround, I found out we can just upgrade the checkout pages without upgrading the thank you and order status pages. That way we will be able to use the additional scripts until it is deprecated next year. See my post here and the provided solution:
As of July 2024 Shopify doesn't have a solution to fix the Javascript popups for review engines like Google Customer Reviews (I assume Trustpilot, Bizrate etc will be the same) to work as they don't want any outside source to change the DOM on the page. I understand security issues if someone's Javascript get compromised but it would be easy enough to sandbox the code so only Shopify can change it or approve it and give us the ability to just put in our code details like they do with GA4 (which also was done way too late IMO). Shopify now wants the 3rd parties to control the code and use apis so that there is nothing changed in the DOM. I personally think trying to get Google and others to manage this because Shopify wants it this way will mean that we will lose functionality as Google etc don't care about Shopify and a battle will exist.
On a good note we don't need to worry about this until August 25, 2025 as that is when we will lose the ability to change the checkout additional scripts. Of course I want to fix this now and Shopify's half baked code roll outs (not the only tech company doing this, GA4!) are not a good sign.
Nathan...
According to this link, we have to upgrade our payment and information pages by August 13th, https://help.shopify.com/en/manual/checkout-settings/customize-checkout-configurations/checkout-exte...
It says we have a year to upgrade the thank you and order status page, but my notification in checkout settings did not give separate options for upgrading one without the other. It does it all at once. How can we just upgrade the payment and information pages without upgrading the thank you and order status page?
[edit] Sorry, I thought you were talking about the customer reviews. So I removed what I said.
Emmaneul, is your script up to date for users that are not using the new thank you page? We reverted back on our shop to the old version, but are having issues with this script:
<!-- Copyright FeedArmy 2024 Version 1.05 -->
<!-- CODE SETTINGS START -->
<!-- CODE SETTINGS START -->
<!-- Please set estimated delivery days -->
{% assign fa_merchant_id = 123456789 %}
<!-- Please set estimated delivery days -->
{% assign fa_delivery_days = 3 %}
<!-- CODE SETTINGS END -->
<!-- CODE SETTINGS END -->
{%- case shipping_address.country_code -%}
{%- when 'BG' -%}{%- assign fa_language = 'bg' -%}{%- when 'CZ' -%}{%- assign fa_language = 'cs' -%}{%- when 'DK' -%}{%- assign fa_language = 'da' -%}{%- when 'DE' -%}{%- assign fa_language = 'de' -%}{%- when 'GR' -%}{%- assign fa_language = 'el' -%}{%- when 'AU' -%}{%- assign fa_language = 'en-AU' -%}{%- when 'GB' -%}{%- assign fa_language = 'en-GB' -%}{%- when 'US' -%}{%- assign fa_language = 'en-US' -%}{%- when 'CA' -%}{%- assign fa_language = 'en-CA' -%}{%- when 'ES' -%}{%- assign fa_language = 'es' -%}{%- when 'FI' -%}{%- assign fa_language = 'fi' -%}{%- when 'FR' -%}{%- assign fa_language = 'fr' -%}{%- when 'HR' -%}{%- assign fa_language = 'hr' -%}{%- when 'HU' -%}{%- assign fa_language = 'hu' -%}{%- when 'ID' -%}{%- assign fa_language = 'id' -%}{%- when 'IT' -%}{%- assign fa_language = 'it' -%}{%- when 'JP' -%}{%- assign fa_language = 'JA' -%}{%- when 'KR' -%}{%- assign fa_language = 'ko' -%}{%- when 'LT' -%}{%- assign fa_language = 'lt' -%}{%- when 'LV' -%}{%- assign fa_language = 'lv' -%}{%- when 'MY' -%}{%- assign fa_language = 'ms' -%}{%- when 'BE' -%}{%- assign fa_language = 'nl' -%}{%- when 'NL' -%}{%- assign fa_language = 'nl' -%}{%- when 'NO' -%}{%- assign fa_language = 'no' -%}{%- when 'PL' -%}{%- assign fa_language = 'pl' -%}{%- when 'BR' -%}{%- assign fa_language = 'pt-BR' -%}{%- when 'PT' -%}{%- assign fa_language = 'pt-PT' -%}{%- when 'RO' -%}{%- assign fa_language = 'ro' -%}{%- when 'RU' -%}{%- assign fa_language = 'ru' -%}{%- when 'SK' -%}{%- assign fa_language = 'SK' -%}{%- when 'SI' -%}{%- assign fa_language = 'sl' -%}{%- when 'RS' -%}{%- assign fa_language = 'sr' -%}{%- when 'SE' -%}{%- assign fa_language = 'sv' -%}{%- when 'TH' -%}{%- assign fa_language = 'th' -%}{%- when 'TR' -%}{%- assign fa_language = 'tr' -%}{%- when 'VN' -%}{%- assign fa_language = 'vi' -%}{%- when 'CN' -%}{%- assign fa_language = 'zh-CN' -%}{%- when 'TW' -%}{%- assign fa_language = 'zh-TW' -%}
{%- else -%}
{%- assign fa_language = 'en' -%}
{%- endcase -%}
{% assign fa_delivery_seconds = 86400 | times: fa_delivery_days %}
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
"merchant_id": {{ fa_merchant_id }},
"order_id": "{{ order.order_number }}",
"email": "{{ order.email }}",
"delivery_country": "{{ order.shipping_address.country_code }}",
"estimated_delivery_date": "{{'now' | date: '%s' | plus : fa_delivery_seconds | date: '%Y-%m-%d' | uri_encode | replace:'+','%20'}}",
"products": [{%- for item in order.line_items -%}{%- if item.variant.barcode != blank -%}{"gtin":"{{ item.variant.barcode }}"}{%- unless forloop.last -%},{%- endunless -%}{%- endif -%}{%- endfor -%}]
});
window.___gcfg = {
lang: '{{ fa_language }}'
};
});
}
</script>
<!-- Copyright FeedArmy 2024 Version 1.05 -->
I see in a comment above they recommended using
"order_id": “{{ name }}”,
"email": “{{ email }}”,
Hello, did anyone figure this out yet? Should we stick to the deprecated version for now? I feel like Shopify and Google are becoming more and more complex and it is all but benefiting us.
Nothing to figure out yet. Ther is no solution.
Do not upgrade the thank you page and all will still work till August 2025. Shopify HOPES to have a solution by then.
Got it thanks! Any tips on how to test the additional scripts? As far as I know the GMC code is in it but never triggered.
Sorry to double message here, Shopify Support is telling me that adding the code to the additional scripts in Order Status is a feature that only works on Shopify Plus, never heard that this was the case, can anyone confirm?
The code I am using I assume is the one most people use:
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
// REQUIRED FIELDS
"merchant_id": GMC ID NUMBER,
"order_id": “{{ order.name }}”,
"email": “{{ order.email }}”,
"delivery_country": “{{ shipping_address.country_code }}”,
"estimated_delivery_date": “{{ order.created_at | date:‘%s’ | plus:432000 | date:’%F’ }}”,
});
});
}
</script>
You should update
"order_id": “{{ order.name }}”,
"email": “{{ order.email }}”,
with
"order_id": “{{ name }}”,
"email": “{{ email }}”,
I'm unsure if both options work, but I read in a different thread that the second option is more reliable.
Google Customer Reviews can not (as of writing) be used using the new pixels, because Shopify does not allow popups.
And as the Google Customer Reviews, asks to opt in to leave a review at the thank you page using a popup, it will not work.
We will need to wait until Google updates the system to not show a popup.
Thanks Felip, is it true that this is only a Shopify Plus feature though?
@claudez7 , sorry I can't confirm or deny if that only works for Shopify Plus. I'm new to Shopify and I work for a business that has a Shopify Plus subscription. I can confirm I use that script and it works for us.
No problem at all, it finally worked. I don't know what this customer support was telling me but she was definitely wrong. It looks like my code would not trigger due to the other review apps we had installed but not running.
I'm confused so it does work with if you are not Shopify Plus, and it's just the normal script? We haven't been able to get it to trigger.
Hey! Yes it finally did trigger, and without Shopify Plus. You should try FeedArmy's code https://feedarmy.com/kb/install-google-customer-reviews-in-shopify/ and make the switch @Felip suggested above for order.name and order.email. Then you can place a test order to see if it triggers!
Let's not confuse that this doesn't fix the issue. This is how it has been done for years. The issue is that additional scripts on Checkout is depreciated and will be gone August 2025. We are still waiting on Shopify to fix their half baked new checkout format. Please note this will affect anything that requires javascript to run when someone checks out. Not just Google Customer Reviews but also Trustpilot, Bizrate and any other tracking that can't be converted to run via Google Tags or an api integration. The calls need to happen in the background and not in the DOM of the page (now I sound like a coder but I have learned too much).
Hi Claudez7, we are using FeedArmy's script on our website, and the review pop-up does work, but only upon refresh on the old thank you page. One thing to note is we did switch to the new thank you page, then reverted back due to the discovery the customer reviews module didn't work. Are you having any issues with having to refresh to see the review pop-up?
Hey, mine seems to be working just fine. I'm sorry not really sure what could be going on on that refresh issue...
Do you mind messaging me with your code implementation? Obviously you can exclude the merchant ID, just trying to compare scripts to see if I'm doing something wrong.
This appeared to work for me, but for some reason the reviews module only works on a page refresh on the thank you.
Do you have
{% if first_time_accessed %}
Please send us full code and I can compare with what I have that works.
This is what we have:
<!-- BEGIN Google Customer Reviews Opt-in Script -->
<!-- CODE SETTINGS START -->
<!-- Please set estimated delivery days -->
{% assign fa_merchant_id = [id here]%}
<!-- Please set estimated delivery days -->
{% assign fa_delivery_days = 3 %}
<!-- CODE SETTINGS END -->
{%- case shipping_address.country_code -%}
{%- when 'BG' -%}{%- assign fa_language = 'bg' -%}{%- when 'CZ' -%}{%- assign fa_language = 'cs' -%}{%- when 'DK' -%}{%- assign fa_language = 'da' -%}{%- when 'DE' -%}{%- assign fa_language = 'de' -%}{%- when 'GR' -%}{%- assign fa_language = 'el' -%}{%- when 'AU' -%}{%- assign fa_language = 'en-AU' -%}{%- when 'GB' -%}{%- assign fa_language = 'en-GB' -%}{%- when 'US' -%}{%- assign fa_language = 'en-US' -%}{%- when 'CA' -%}{%- assign fa_language = 'en-CA' -%}{%- when 'ES' -%}{%- assign fa_language = 'es' -%}{%- when 'FI' -%}{%- assign fa_language = 'fi' -%}{%- when 'FR' -%}{%- assign fa_language = 'fr' -%}{%- when 'HR' -%}{%- assign fa_language = 'hr' -%}{%- when 'HU' -%}{%- assign fa_language = 'hu' -%}{%- when 'ID' -%}{%- assign fa_language = 'id' -%}{%- when 'IT' -%}{%- assign fa_language = 'it' -%}{%- when 'JP' -%}{%- assign fa_language = 'JA' -%}{%- when 'KR' -%}{%- assign fa_language = 'ko' -%}{%- when 'LT' -%}{%- assign fa_language = 'lt' -%}{%- when 'LV' -%}{%- assign fa_language = 'lv' -%}{%- when 'MY' -%}{%- assign fa_language = 'ms' -%}{%- when 'BE' -%}{%- assign fa_language = 'nl' -%}{%- when 'NL' -%}{%- assign fa_language = 'nl' -%}{%- when 'NO' -%}{%- assign fa_language = 'no' -%}{%- when 'PL' -%}{%- assign fa_language = 'pl' -%}{%- when 'BR' -%}{%- assign fa_language = 'pt-BR' -%}{%- when 'PT' -%}{%- assign fa_language = 'pt-PT' -%}{%- when 'RO' -%}{%- assign fa_language = 'ro' -%}{%- when 'RU' -%}{%- assign fa_language = 'ru' -%}{%- when 'SK' -%}{%- assign fa_language = 'SK' -%}{%- when 'SI' -%}{%- assign fa_language = 'sl' -%}{%- when 'RS' -%}{%- assign fa_language = 'sr' -%}{%- when 'SE' -%}{%- assign fa_language = 'sv' -%}{%- when 'TH' -%}{%- assign fa_language = 'th' -%}{%- when 'TR' -%}{%- assign fa_language = 'tr' -%}{%- when 'VN' -%}{%- assign fa_language = 'vi' -%}{%- when 'CN' -%}{%- assign fa_language = 'zh-CN' -%}{%- when 'TW' -%}{%- assign fa_language = 'zh-TW' -%}
{%- else -%}
{%- assign fa_language = 'en' -%}
{%- endcase -%}
{% assign fa_delivery_seconds = 86400 | times: fa_delivery_days %}
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
"merchant_id": {{ fa_merchant_id }},
"order_id": "{{ name }}",
"email": "{{ email }}",
"delivery_country": "{{ order.shipping_address.country_code }}",
"estimated_delivery_date": "{{'now' | date: '%s' | plus : fa_delivery_seconds | date: '%Y-%m-%d' | uri_encode | replace:'+','%20'}}",
"products": [{%- for item in order.line_items -%}{%- if item.variant.barcode != blank -%}{"gtin":"{{ item.variant.barcode }}"}{%- unless forloop.last -%},{%- endunless -%}{%- endif -%}{%- endfor -%}]
});
window.___gcfg = {
lang: '{{ fa_language }}'
};
});
}
</script>
<!-- END Google Customer Reviews Opt-in Script -->
It looks like you just need this line at the top which only runs the script once when the page loads. This prevents the script from running when you hit refresh or going back to that page when you want to relook at an order.
{% if first_time_accessed %}
Nathan...
What is strange is that it does show, but ONLY on refresh, do you think it this would fix that issue so it appears the first time and just doesn't after that point?
Hi Max, it looks like we are experiencing the exact same issue. I am using the same code as what you are using above which I got from Feedarmy. Everything technically works, however, when a customer gets to the order confirmation/thank you page, the popup to opt-in from Google does not automatically show, the page first has to be refreshed, then the pop-up displays.
Have you managed to find a solution to this? I have looked everywhere and have not had any success!
Having same issue - Any solution?
Dropshipping, a high-growth, $226 billion-dollar industry, remains a highly dynamic bus...
By JasonH Nov 27, 2024Hey Community! It’s time to share some appreciation and celebrate what we have accomplis...
By JasonH Nov 14, 2024In today’s interview, we sat down with @BSS-Commerce to discuss practical strategies f...
By JasonH Nov 13, 2024