Created on 7 May, 2020 | Updated on 9 September, 2023
Install Google Customer Reviews In Shopify

Install Google Customer Reviews In Shopify

A step by step guide on how to integrate Google Customer Reviews into your Shopify shop.

Step 1) Enabling The Program

Log in to Google Merchant Center (you must have admin access) and go to Growth > Manage Programs

Click on enable, if not already done in the Customer Reviews program.

Google Merchant Center Manage Programs

Read and agree to the terms and conditions.

Step 2) Getting The Code

You should now be redirected to the setup option, however, if you have already done the above, to get to the code click on the gear icon from the top right side and click on Customer review setup. Now click on the setup tab.

Google Merchant Center Manage Programs

Scroll down till you see the opt-in code. Now copy your merchant id value. Save this in text file, we will be using this later.

Google Merchant Center Copy Merchant ID

Step 3) Installing The Code In Shopify

Log in to your Shopify account and navigate to Settings > Checkout

Shopify Checkout Settings

Scroll down till you see Order Status Page > Additional scripts.

Shopify Order Status Page

Now paste the below code and make the following two changes

Important!

Many merchants have issues where the code is not triggered when you have first_time_accessed included. Jason Roberts shared this in the comments below. Therefore, I have removed that part of the code to ensure it works.

  1. Change the value for fa_merchant_id to your merchant id you saved in the text file.
  2. Change the value for fa_delivery_days to your estimated delivery time in days.
<!-- Copyright FeedArmy 2023 Version 1.04 -->
<!-- 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 '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 2023 Version 1.04 -->

Click on Save

Step 4) Installing The Badge

Navigate to Online Store > Themes > 3dot menu > Edit Code

Shopify Edit Theme

In the left hand side theme menu, choose theme.liquid from the layout section.

Go back to Google Merchant Center > gear icon > Customer review setup > settings. Scroll down and copy your Badge Integration code.

Google Merchant Center Copy Badge Integration

Paste the code before the closing tag of </body>

Shopify Add Google Customer Reviews

Need Help?
Do you have a question or need specialist support? Get in touch!

Subscribe
Notify of
guest
11 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Jason Roberts
25 days ago

Hey Emmanuel,

You’ve been kind enough to offer input over on the Google Community pages. I’m now trying to get setup for Google Seller Reviews. After trying to follow their guide for a while, I found this tutorial. Thank you! It’s so much more straightforward than what Google has to offer and obviously doesn’t require me to lookup the proper Shopify objects.

I’m using the Dawn theme. I copied your code to the Checkout -> Order status page Additional scripts, per the tutorial, and it’s the only script in there. I made a purchase on my own site (using Chrome), but got no opt in at the end. So I tried again, this time using a different browser (Safari) which I had cleared of all history and cookies, and a different email address that had never been used on my site. Again, nothing. I get the confirmation screen and email, but no opt in pop-up.

I’ve re-coped and pasted the code, just to make sure. I definitely got all of it, from copyright line to copyright line. I double-checked my Merchant ID, and that’s right. My theme.liquid has the correct doctype declaration. But still, nothing when I complete the transaction.

Any suggestions?

Jason Roberts
Reply to  Emmanuel Flossie
24 days ago

Interesting…

https://drive.google.com/file/d/177wQxg_G4Z6Ma10__R5Nt-qZ3Pun4Mgw/view?usp=sharing

The transaction data aren’t appearing in the script. No idea why, though. My merchant_id and estimated_delivery_date are correct. I just checked and the liquid objects are definitely in the script, as copied from this page.

So I searched around a bit and found this thread. Sure enough, it’s the first_time_accessed conditional that’s causing the issue. As soon as I remove that, I get the pop-up.

I Googled a bit, and it looks like this has been an issue—or, at least, the usability of first_time_accessed has been questioned—for at least a couple of years. Some say it depends on the form of payment used. All of the threads appeared to end unresolved.

Jason Roberts
Reply to  Emmanuel Flossie
24 days ago

OK… Not sure what happened. I thought I had replied, but nothing is here.

Anyway, bottom line was that the first_time_accessed conditional appears to be unreliable. There are a number of posts supporting that on the Shopify Community. As soon as I removed that, the pop-up worked.

Billard
1 month ago

I have the refresh theme, It doesn’t work for it in theme liquid, How do you even get it to work on that theme?

Billard
Reply to  Emmanuel Flossie
1 month ago

It worked! I accidentally put the wrong snipped code in on merchant center! Thanks for the tutorial

Jonni Perkins
1 year ago

Thank You so much for this amazing resource! Your work has been incredibly helpful to our small business!

We have a completely made-to-order business where we work with the customer to create custom products. Thus, our delivery window is really case-by-case. Is it possible to edit the code so that instead of delivering the google survey after a given number of days, we could change it to when fulfillment status is completed? Currently we have it set to 14 days delivery time, but some of our customers that have complex orders will receive a review request while their order is still in progress.

Thanks so much!

11
0
Would love your thoughts, please comment.x
()
x