An easy step by step guide on how to add Google Ads remarketing Pixel to Shopify Customer Events using the latest features.
Shopify Pixel
If you have different feeds for different countries and you need to change the product ID, contact us for custom coding.
Login to Google Ads, then in the left hand menu select Tools > Audience manager
From the top menu, click on Your data sources
Here you will see all your panels, click on the 3dot menu for Google Ads Tag and select edit source. Or if that is not available click on set up tag.
Or go to this URL: https://ads.google.com/aw/audiences/management/datasources/tagsetup
Select the following:
- Remarketing
- Collect data on specific actions people performed on your website to show personalized ads.
- Business Type
- Retail
- Click on Save and continue
Click on Install the tag yourself
Copy the numeric source tag id as shown in the image below for later use. We will add the source tag id to the script below. (paste it in a text file for later use)
Go to Shopify > Settings > Customer Events
Click on add custom pixel
Paste your code from below, and change the following 3 settings (only edit between settings start and end)
- Change GOOGLE_ADS_ID value with your account ID you saved earlier
- Change the REMARKETING_COUNTRY_CODE to the country your shopify ID’s, if you don’t know simply go to Google Merchant Center > Products > All Products > and the id’s will look like shopify_US_123456789_123546789
- Chane the ID_TYPE to shopify, sku, variant_id or parent_id dependent on the ID’s you used in Google Merchant Center
// Google Ads Remarketing Tracking Created by FeedArmy V1.02
// Copyright FeedArmy Co., Ltd.
// SETTINGS START
const GOOGLE_ADS_ID = 'AW-123456789';
const REMARKETING_COUNTRY_CODE = 'US';
// for the ID_TYPE, if your products look like shopify_US_123456789_123456798 add the word shopify
// if your products are sku's add the value sku -- const ID_TYPE = 'sku';
// if your proudcts use the variant id use the value variant_id -- const ID_TYPE = 'variant_id';
// if your proudcts use the parent id use the value parent_id -- const ID_TYPE = 'parent_id';
const ID_TYPE = 'shopify';
// If you want to capitalize the SKU set CAPITALIZE_SKU to true, if you don't want to change anything set to false
const CAPITALIZE_SKU = false;
// SETTINGS END
const script = document.createElement('script');
script.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=' + GOOGLE_ADS_ID);
script.setAttribute('async', '');
document.head.appendChild(script);
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', GOOGLE_ADS_ID);
const createLineItemsData = (lineItems, ID_TYPE, REMARKETING_COUNTRY_CODE, CAPITALIZE_SKU) => {
return lineItems.map((item) => {
let itemId;
if (ID_TYPE === "shopify") {
itemId = "shopify_" + REMARKETING_COUNTRY_CODE + "_" + item.variant?.product?.id + "_" + item.variant?.id;
} else if (ID_TYPE === "parent_id") {
itemId = item.variant?.product?.id;
} else if (ID_TYPE === "sku") {
itemId = item.variant?.sku;
if (CAPITALIZE_SKU) {
itemId = itemId.toUpperCase();
}
} else {
itemId = item.variant?.id;
}
return {
id: itemId
};
});
};
// testing thedata: JSON.stringify(event.data, null, 2),
analytics.subscribe("checkout_completed", (event) => {
const lineItemsData = createLineItemsData(event.data?.checkout?.lineItems, ID_TYPE, REMARKETING_COUNTRY_CODE, CAPITALIZE_SKU);
gtag('event', 'purchase', {
send_to: GOOGLE_ADS_ID,
value: event.data?.checkout?.totalPrice?.amount,
currency: event.data?.checkout?.currencyCode,
google_business_vertical: 'retail',
items: lineItemsData
});
});
analytics.subscribe("product_added_to_cart", (event) => {
let itemId;
if (ID_TYPE === "shopify") {
itemId = "shopify_" + REMARKETING_COUNTRY_CODE + "_" + event.data?.cartLine?.merchandise?.product?.id + "_" + event.data?.cartLine?.merchandise?.id;
} else if (ID_TYPE === "parent_id") {
itemId = event.data?.cartLine?.merchandise?.product?.id;
} else if (ID_TYPE === "sku") {
itemId = event.data?.cartLine?.merchandise?.sku;
if (CAPITALIZE_SKU) {
itemId = itemId.toUpperCase();
}
} else {
itemId = event.data?.cartLine?.merchandise?.id;
}
gtag('event', 'add_to_cart', {
send_to: GOOGLE_ADS_ID,
items: [{ id: itemId, google_business_vertical: 'retail' }],
value: event.data?.cartLine?.merchandise?.price?.amount,
});
});
analytics.subscribe("product_viewed", (event) => {
let itemId;
if (ID_TYPE === "shopify") {
itemId = "shopify_" + REMARKETING_COUNTRY_CODE + "_" + event.data?.productVariant?.product?.id + "_" + event.data?.productVariant?.id;
} else if (ID_TYPE === "parent_id") {
itemId = event.data?.productVariant?.product?.id;
} else if (ID_TYPE === "sku") {
itemId = event.data?.productVariant?.sku;
if (CAPITALIZE_SKU) {
itemId = itemId.toUpperCase();
}
} else {
itemId = event.data?.productVariant?.id;
}
gtag('event', 'view_item', {
send_to: GOOGLE_ADS_ID,
items: [{ id: itemId, google_business_vertical: 'retail' }],
value: event.data?.productVariant?.price?.amount,
});
});
analytics.subscribe("search_submitted", (event) => {
gtag('event', 'view_search_results', {
send_to: GOOGLE_ADS_ID,
query: event.data?.searchResult?.query,
});
});
analytics.subscribe("collection_viewed", (event) => {
gtag('event', 'view_item_list', {
send_to: GOOGLE_ADS_ID,
collection_id: event.data?.collection?.id,
collection_title: event.data?.collection?.title,
});
});
Now click on save and connect
Support My Work!
The code is free to use, if you could leave a review, that would be much appreciated.
https://www.trustpilot.com/review/feedarmy.com
or here : https://g.page/r/CbGZ-JICOoh1EAg/review
Shopify Additional Scripts
Step 1) Get Your Audience Source Tag ID
Login to Google Ads, then in the left hand menu select Tools > Audience manager
From the top menu, click on Your data sources
Here you will see all your panels, click on the 3dot menu for Google Ads Tag and select edit source. Or if that is not available click on set up tag.
Or go to this URL: https://ads.google.com/aw/audiences/management/datasources/tagsetup
Select the following:
- Remarketing
- Collect data on specific actions people performed on your website to show personalized ads.
- Business Type
- Retail
- Click on Save and continue
Click on Install the tag yourself
Copy the numeric source tag id as shown in the image below for later use. We will add the source tag id to the script below.
Step 2) Adding The Tracking Code To theme.liquid
- Login to your Shopify Admin Panel
- Open up the theme editor by going to Online Store > Themes
- Now choose Actions > Edit Code
Click on theme.liquid inside the layout folder
From the code example below, edit the value between code settings start and end. Do not change anything else or you might break the functionality. I have highlighted below what you can edit.
- Copy the below code into a text editor and replace the fa_google_ads_audience_tag_id value to your audience tag id
- By default the code is set up for the US, if you targeting a different country, change the value of fa_product_id_alpha2_code to your target country alpha2. For example, the United Kingdom is GB. You can find the full list here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode
- The following step requires you to check the product id in Google Merchant Center > Products > List. And see what ID you are using.
- If it looks like shopify_US_81191654332_1055121650148, then keep fa_product_id set to default
- If it looks like 1055121650148 then set the value fa_product_id to product_id
- If it looks like the main id 81191654332 then set the value fa_product_id to parent_id
- If it looks like a sku then set the value fa_product_id to sku
When you have updated the code settings, paste it in the theme.liqued file between the opening and closing head tag. <head></head>
<!-- Google Ads Remarketing Tag By FeedArmy Version 2.17 START -->
<!-- FeedArmy tutorial found at https://feedarmy.com/kb/adding-google-adwords-remarketing-tag-to-shopify/ -->
<!-- CODE SETTINGS START -->
<!-- CODE SETTINGS START -->
<!-- Please add your Google Ads Audience Source Tag ID -->
{% assign fa_google_ads_audience_tag_id = 123456789 %}
<!-- Please add your alpha2 code, you can find it here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode -->
{% assign fa_product_id_alpha2_code = 'US' %}
<!-- set your product id values are default, product_id, parent_id, sku-->
{% assign fa_product_id = 'default' %}
<!-- CODE SETTINGS END -->
<!-- CODE SETTINGS END -->
<!-- ==================================== -->
<!-- DO NOT EDIT ANYTHING BELOW THIS LINE -->
{% if fa_google_coding %}{% assign fa_google_coding = true %}{%- else -%}{% assign fa_google_coding = false %}{%- endif -%}
{% if fa_google_coding == false %}
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-{{ fa_google_ads_audience_tag_id }}"></script>
{%- endif -%}
{%- assign fa_current_variant = product.selected_or_first_available_variant -%}
{%- if cart.currency.iso_code == 'GBP' or cart.currency.iso_code == 'USD' or cart.currency.iso_code == 'CAD' or cart.currency.iso_code == 'AUD' or cart.currency.iso_code == 'BWP' or cart.currency.iso_code == 'BND' or cart.currency.iso_code == 'DOP' or cart.currency.iso_code == 'GTQ' or cart.currency.iso_code == 'HKD' or cart.currency.iso_code == 'INR' or cart.currency.iso_code == 'ILS' or cart.currency.iso_code == 'YEN' or cart.currency.iso_code == 'KES' or cart.currency.iso_code == 'KOR' or cart.currency.iso_code == 'LBP' or cart.currency.iso_code == 'MYR' or cart.currency.iso_code == 'MXN' or cart.currency.iso_code == 'NPR' or cart.currency.iso_code == 'NZD' or cart.currency.iso_code == 'NIO' or cart.currency.iso_code == 'NGN' or cart.currency.iso_code == 'PKR' or cart.currency.iso_code == 'CNY' or cart.currency.iso_code == 'PHP' or cart.currency.iso_code == 'SGD' or cart.currency.iso_code == 'LKR' or cart.currency.iso_code == 'CHF' or cart.currency.iso_code == 'TWD' or cart.currency.iso_code == 'TSH' or cart.currency.iso_code == 'THB' or cart.currency.iso_code == 'UGX' or cart.currency.iso_code == 'KWD' -%}
{% if template contains 'product' %}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:',' -%}
{% elsif template contains 'cart' %}
{%- assign fa_product_price = cart.total_price | money_without_currency | remove:',' -%}
{% endif %}
{%- else -%}
{% if template contains 'product' %}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:'.' | replace: ',', '.' -%}
{% elsif template contains 'cart' %}
{%- assign fa_product_price = cart.total_price | money_without_currency | remove:'.' | replace: ',', '.' -%}
{% endif %}
{%- endif -%}
{%- if fa_product_id == 'default' -%}
{%- capture fa_product_id_value -%}shopify_{{ fa_product_id_alpha2_code }}_{{ product.id }}_{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'product_id' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'parent_id' -%}
{%- capture fa_product_id_value -%}{{product.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'sku' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.sku }}{%- endcapture -%}
{%- endif -%}
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-{{ fa_google_ads_audience_tag_id }}');
</script>
{% if template contains 'collection' %}
{% assign fa_event = 'view_item_list' %}
{% elsif template contains 'product' %}
{% assign fa_event = 'view_item' %}
{% elsif template contains 'search' %}
{% assign fa_event = 'view_search_results' %}
{% elsif template contains 'cart' %}
{% assign fa_event = 'add_to_cart' %}
{% elsif template contains 'index' %}
{% assign fa_event = 'home' %}
{% else %}
{% assign fa_event = 'other' %}
{% endif %}
<script>
gtag('event', '{{ fa_event }}', {
'send_to': 'AW-{{ fa_google_ads_audience_tag_id }}',
{% if template contains 'product' or template contains 'cart' %}'value': {{ fa_product_price }},{% endif %}
{% if template contains 'product' %}
'items': [{
'id': '{{fa_product_id_value}}',
'google_business_vertical': 'retail'
}]
{% elsif template contains 'cart' %}
'items': [
{% for item in cart.items %}
{
{% if fa_product_id == 'default' %}
'id': 'shopify_{{ fa_product_id_alpha2_code }}_{{ item.product_id }}_{{ item.variant_id }}',
{% elsif fa_product_id == 'product_id' %}
'id': '{{ item.variant_id }}',
{% elsif fa_product_id == 'parent_id' %}
'id': '{{ item.product_id }}',
{% elsif fa_product_id == 'sku' %}
'id': '{{ item.sku }}',
{% endif %}
'google_business_vertical': 'retail'
},
{% endfor %}
]
{% endif %}
});
</script>
<!-- Google Ads Remarketing Tag By FeedArmy Version 2.17 END -->
Now go to Settings > Checkout
Scroll down till you see Order Processing > Additional scripts
From the code example below, edit the value between code settings start and end. Do not change anything else or you might break the functionality. I have highlighted below what you can edit.
- Copy the below code into a text editor and replace the fa_google_ads_audience_tag_id value to your audience tag id
- By default the code is set up for the US, if you targeting a different country, change the value of fa_product_id_alpha2_code to your target country alpha2. For example, the United Kingdom is GB. You can find the full list here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode
- The following step requires you to check the product id in Google Merchant Center > Products > List. And see what ID you are using.
- If it looks like shopify_US_81191654332_1055121650148, then keep fa_product_id set to default
- If it looks like 1055121650148 then set the value fa_product_id to product_id
- If it looks like the main id 81191654332 then set the value fa_product_id to parent_id
- If it looks like a sku then set the value fa_product_id to sku
When you completed the code paste it in the additional scripts settings and save.
<!-- Google Ads Remarketing Tag By FeedArmy 2021 Version 2.17 START -->
<!-- FeedArmy tutorial found at https://feedarmy.com/kb/adding-google-adwords-remarketing-tag-to-shopify/ -->
<!-- CODE SETTINGS START -->
<!-- CODE SETTINGS START -->
<!-- Please add your Google Ads Audience Source Tag ID -->
{% assign fa_google_ads_audience_tag_id = 123456789 %}
<!-- Please add your alpha2 code, you can find it here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode -->
{% assign fa_product_id_alpha2_code = 'US' %}
<!-- set your product id values are default, product_id, parent_id, sku-->
{% assign fa_product_id = 'default' %}
<!-- CODE SETTINGS END -->
<!-- CODE SETTINGS END -->
<!-- ==================================== -->
<!-- DO NOT EDIT ANYTHING BELOW THIS LINE -->
{% if fa_google_coding %}{% assign fa_google_coding = true %}{%- else -%}{% assign fa_google_coding = false %}{%- endif -%}
{% if fa_google_coding == false %}
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-{{ fa_google_ads_audience_tag_id }}"></script>
{%- endif -%}
{%- assign fa_current_variant = product.selected_or_first_available_variant -%}
{%- if checkout.currency == 'GBP' or checkout.currency == 'USD' or checkout.currency == 'CAD' or checkout.currency == 'AUD' or checkout.currency == 'BWP' or checkout.currency == 'BND' or checkout.currency == 'DOP' or checkout.currency == 'GTQ' or checkout.currency == 'HKD' or checkout.currency == 'INR' or checkout.currency == 'ILS' or checkout.currency == 'YEN' or checkout.currency == 'KES' or checkout.currency == 'KOR' or checkout.currency == 'LBP' or checkout.currency == 'MYR' or checkout.currency == 'MXN' or checkout.currency == 'NPR' or checkout.currency == 'NZD' or checkout.currency == 'NIO' or checkout.currency == 'NGN' or checkout.currency == 'PKR' or checkout.currency == 'CNY' or checkout.currency == 'PHP' or checkout.currency == 'SGD' or checkout.currency == 'LKR' or checkout.currency == 'CHF' or checkout.currency == 'TWD' or checkout.currency == 'TSH' or checkout.currency == 'THB' or checkout.currency == 'UGX' or checkout.currency == 'KWD' -%}
{% if template contains 'product' %}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:',' -%}
{% elsif template contains 'cart' %}
{%- assign fa_product_price = cart.total_price | money_without_currency | remove:',' -%}
{% endif %}
{%- else -%}
{% if template contains 'product' %}
{%- assign fa_product_price = fa_current_variant.price | money_without_currency | remove:'.' | replace: ',', '.' -%}
{% elsif template contains 'cart' %}
{%- assign fa_product_price = cart.total_price | money_without_currency | remove:'.' | replace: ',', '.' -%}
{% endif %}
{%- endif -%}
{%- if fa_product_id == 'default' -%}
{%- capture fa_product_id_value -%}shopify_{{ fa_product_id_alpha2_code }}_{{ product.id }}_{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'product_id' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'parent_id' -%}
{%- capture fa_product_id_value -%}{{product.id }}{%- endcapture -%}
{%- elsif fa_product_id == 'sku' -%}
{%- capture fa_product_id_value -%}{{ fa_current_variant.sku }}{%- endcapture -%}
{%- endif -%}
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-{{ fa_google_ads_audience_tag_id }}');
</script>
{% if template contains 'collection' %}
{% assign fa_event = 'view_item_list' %}
{% elsif template contains 'product' %}
{% assign fa_event = 'view_item' %}
{% elsif template contains 'search' %}
{% assign fa_event = 'view_search_results' %}
{% elsif template contains 'cart' %}
{% assign fa_event = 'add_to_cart' %}
{% elsif template contains 'index' %}
{% assign fa_event = 'home' %}
{% else %}
{% assign fa_event = 'other' %}
{% endif %}
<script>
gtag('event', '{{ fa_event }}', {
'send_to': 'AW-{{ fa_google_ads_audience_tag_id }}',
{% if template contains 'product' or template contains 'cart' %}'value': {{ fa_product_price }},{% endif %}
{% if template contains 'product' %}
'items': [{
'id': '{{fa_product_id_value}}',
'google_business_vertical': 'retail'
}]
{% elsif template contains 'cart' %}
'items': [
{% for item in cart.items %}
{
{% if fa_product_id == 'default' %}
'id': 'shopify_{{ fa_product_id_alpha2_code }}_{{ item.product_id }}_{{ item.variant_id }}',
{% elsif fa_product_id == 'product_id' %}
'id': '{{ item.variant_id }}',
{% elsif fa_product_id == 'parent_id' %}
'id': '{{ item.product_id }}',
{% elsif fa_product_id == 'sku' %}
'id': '{{ item.sku }}',
{% endif %}
'google_business_vertical': 'retail'
},
{% endfor %}
]
{% endif %}
});
</script>
<!-- Google Ads Remarketing Tag By FeedArmy 2021 Version 2.17 END -->
Checking The Results
Currently as of writing, Google Tag Assistant does not check which values are added in the gtag remarketing code. So you will need to look at the source code, to confirm.
Important!
Google Tag Assistant will show a red label if you have an ad blocker installed on your browser. Disable or remove the ad blocker to see a blue icon.
You can check the results manually by right-clicking on the product landing page then choose view page source and search for FeedArmy (ctrl+f), then simply check the values that are added. You should see something like below.
<!-- Google Ads Remarketing Tag By FeedArmy START -->
<!-- FeedArmy tutorial found at https://feedarmy.com/adding-google-adwords-remarketing-tag-to-shopify/ -->
<!-- Please add your Google Ads Audience Source Tag ID -->
<!-- Please add your alpha2 code, you can find it here: https://help.shopify.com/en/api/custom-storefronts/storefront-api/reference/enum/countrycode
<!-- set your product id values are default, product_id, parent_id, sku-->
<!-- ------------------------------------ -->
<!-- DO NOT EDIT ANYTHING BELOW THIS LINE -->
<!-- Global site tag (gtag.js) - Ads. -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-123456789"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-123456789');
</script>
<!-- Global site tag (gtag.js) - Ads. -->
<script>
gtag('event', 'view_item', {
'send_to': 'AW-123456789',
'value': 490.00,
'items': [{
'id': 'shopify_US_244465464459_214781237805',
'google_business_vertical': 'retail'
}]
});
</script>
<!-- Google Ads Remarketing Tag By FeedArmy END -->
Change Log
- V2.16: Updated currency detection, suggested by Mmarcus15
- V2.15: Added Canada to the auto-detect list
- V2.14: Fixed variants not listing the correct price
Hi,could you help me troubleshooting the setting?We would like to paid for that.
I have replied to your email.
DO we have to do both setups? Please clarify (shopify Pixel & Shipofy additional scripts? ) Or is it one or the other please advise.
Only shopify pixels.
Hey, thank you for your sharing.
For multiple countries(they all use shopify ID), can I just add their code here like this?
REMARKETING_COUNTRY_CODE = ‘US’,’GB’;
Thank
No, it requires more advanced custom coding, you can reach out to [email protected] for support.
Hi Emmanuel, we are currently using the Shopify additional script. I was wondering if I need to remove the additional script when I change it to the Shopify pixel? Because I noticed that you mentioned that you need to wait 2-3 days to see the effect. If I remove the additional script, will my data be skewed or even not capture relevant data during this time? Or if I don’t remove the additional script, will my data show 2x the effect?
It all depends on the setup, so the answer is, it could be double tracking, but it’s not that of a big deal to have double tracking for 2 days.
Hello, code is working except I’m not getting any hits for ecomm_pagetype, ecomm_prodid and ecomm_totalvalue. I see it is not in the code. Aren’t these three parameters vital for remarketing? Or does view_item under events replace it? I don’t think it does because I’ve noticed my product viewers (retail) (google ads) data segment decrease significantly since changing to this code and I’ve had the same amount of traffic. Please help. thanks
That is because the parameters you are looking at have been deprecated for almost 5 years now. It is now event, id, value.
However, my new tracking code that I am working on now, I will add the old coding again, but it should not be necessary, I just want to avoid people getting confused, as I get this question a lot, you can view Google’s official docs, ecomm_ is no longer mentioned.
Hi Emmanuel Flossie, How can I implement both Google Ads Enhanced Conversion Tracking and Dynamic Remarketing codes in one place?
That is currenctly not available.
Hi Emanuel, can we use the GTM to create a remarketing tag?
Sure, if you want to set it all up. But if you want to use my coding, it’s designed to sent directly to Google Ads, no need for a 3rd party.
Thank you for your response.
I have already installed GTM on my page with datalayer code and my GADS Conversion tracking Tags and GA4 Tag fire on my page and get data. But Google Ads Remarketing Tag doesn’t fire and I don’t know why? I don’t think, that it is because of the code, because the other tags fire properly.
I also cannot check it, because the debugger isn’t available when I use shopify custom pixels.
Maybe you could give me advice, where can be the problem?
Thank you in advance
As you know you can’t view data live due to Shopify having the code render in sandbox mode for privacy reasons. Hvae you waited 2 or 3 days before viewing the results in Google Ads?
Hello, I have experienced the same think as @Garik said. All the Tags are firing properly except from the the remarketing tags.
@Emmanuel we would be glad to hear any solution from you.
Thank you!
If you have waited 3 days, and the data is not in Google Ads, then feel free to email me at [email protected] for personal service support.
Hello Emmanuel,
I recently installed the latest version of the remarketing Pixel. In your video, you mentioned that the most important parameters for remarketing are ID, Value, and Google Business Vertical. I noticed that the “% of all hits” for these three parameters is around 18% or 19%.
Do you think this percentage is normal, or could there be an issue with my installation?
Thanks!
I don’t know how the percentage is calculated, nor is there any information online that I can find how it is calculated, but if I look at all my clients it’s different for everyone. But the ID is hovering around 25%.
Thanks for your reply.
I have some questions about google & youtube app & dynamic remarketing related:
1) If we use Google & shopping app is its builtin option available in app to do dynamic remarketing?
2) I setup conversion tracking via google & youtube app but not seeing any conversion in google ads account. Conversion tracking turn on in app. What I am missing or what I have to do?
3) After using app I am seeing prodid hits in ads is matching with feed id but hit% is only 1. I am assuming Is it because conversion goals not tracking?
1) yes
2) If it doesn’t work, consider installing my code, if you have issues with the google and youtube app, contact Google support.
3) ecomm_prodid is an old parameter, the new one is called id
Thanks for your reply.
3) yes both parameters are coming prodid & id.
https://www.awesomescreenshot.com/image/49033486?key=c88a019539607a2b8e51b2b725bfb35a
if dynamic remarketing implemented via google & youtube app correctly is I am able to see the dynamic remarketing tag in tag assistance extension?
https://www.awesomescreenshot.com/image/49033842?key=af6f8cc4d9a4a61c2530fdb7fbceb9c
If Google implemented it using Pixels no, Shopify blocks all pixels from showing in the dev tools or tag assistant. You will need to wait for the results in Google Ads.
One more thing if we use google app dynamic remarketing enable for global or only in that country where we are targeting in app?
Bcz we can only submit one feed from this app for one country
If you want to target more countries use: https://apps.shopify.com/multiple-google-shopping-feeds
Thank you once again for the great value you provide with these tutorials. I have a question regarding my current setup. I’ve already installed the “Shopify Pixel with Enhanced Conversion ” using Google Tag Manager. Now, I would like to install dynamic remarketing.
Does this mean that the method described in “How To Add Google Ads Remarketing Pixel To Shopify”(shopify pixel Updated on 17 June, 2024 method) will work with the existing “Shopify Pixel with Enhanced Conversion setup via Google Tag Manager”? Will I have Conversion Tracking, Enhanced Conversion, and Dynamic Remarketing all working together?
Additionally, should I install standard remarketing separately with Google Tag Manager, or is it included in the dynamic remarketing method?
Thank you,
The remarketing pixel I developed is independent not using GTM, meaning just install it, apply the settings and it works. The conversion pixel will work as well when installed correctly.
Checkout> Additional scripts
Shopify has been disabled, what should I do now?
I am not aware this is already disabled automatically, until 2025. But if what you say is true, which I can’t see with my clients, then best to use the Google and Youtube app.
Do I still need a remarketing code when using Google and Youtube app?
If you have verified that the Google and Youtube app is collecting valid data, then no, you don’t need to install the remarketing code again.
yes, they have disabled mine also. Now all of my Google ads campaigns are affected. Still looking for a solution. I can not use the Google sales channel because I am already using symprosys app for feed. Do you think I can stop the feed submission via the google sales channel and still use symprosys for feed.
I don’t see any issues. Just make sure you migrate well.
Thanks for the great value Emmanuel. How to deal with different fa_product_id formats (eg default, sku, etc) mixed altogether in content API? Thank you
That is indeed a problem. I recommend ensuring the products in the feed all use the same ID format.
If that is not possible, you could, in theory, add the same remarketing code again with a different fa_product_id format. However, that will bloat your page coding a bit more. However, if you can not change the product ID, that would be the only solution.
and what about the “Include the user_id parameter in the Google Ads tag” under the advanced settings?
There is no need to add this.
Do we still need the additional scripts section if we already installed the Shopify Pixel (your other post) via the Customer Accounts
Remarketing code will soon be updated to pixels, I am not ready yet.
SO if i use this code and and shopify pixel code, do i still need to install the google tag separately?
No, you only need to install the code I created in the customer event / pixel area.
Hello Emmanuel! Do you have this code adjusted for custom pixels area?
Hello Arturas, at the moment no.
Do you have in mind any approximate date when/if this code will be adjusted / available for custom pixels?
Thanks
At the moment no, I currently have bigger projects that need to be finished first. If you can not wait, then use the Google and Youtube app.
Hey Emmanuel 🙂 Also interested in the remarketing pixel code. My client doesn’t use the Google/YouTube app as they integrate to GMC via Simprosys and also integrate to GA4 via GTM (installed via pixel). Are there any other options?
That will be worked on. I have no date when it will be released.
Thank You. If I used your code, I will make sure you get the credit.
Pleasure, and thank you kindly Helal!
I decided to implement the steps in this tutorial after my previous set up of Google Ad tags was ineffectual. Despite integrating these steps, my retail match rate remains at 0%.
Any clue why this is happening? I’m wondering if my supplemental feed for Merchant Center has any effect…
My product ID is as specified in your instructions ie Shopify_US_####_####
Make sure to wait a few days after implementation, then check the id’s collected in Google Ads vs your data feed.
The warning may stay if you have other coding, and you need to dismiss the warning after you have verified the IDs are correct. Otherwise, yes, the warning will never disappear by itself; you need to manually dismiss it.
Thanks Emmanuel – when you say check the id’s collected in Google Ads, I assume you mean to check in:
tools > shared audiences > data sources > google ads tag > id hits and verify those values match the feed values.
My overall concern is this:
What metrics should I be monitoring within the google ads tag to ensure that my dynamic remarketing would actually be effective?
To check if your remarketing tag works, manually check your source code or verify in the location you indicated.
Hi Emmanuel, Under Audience Manager > Your Data Sources > Google Ads Tag > Details. Data source hits have been plummeting since October 12th, is this delayed reporting on the hits or could there be an issue with tag now? Noticing it across a lot of different ad accounts using this code. Thanks
I am seeing this as well. I am currently in London at Google’s HQ for 10 days, so i can’t investigate. I will look into this when I am back. But I don’t think its the coding, but rather Google having issues.
This a is displayed on the thank you page, is this a necessary?
If you want to collect converting users in your remarketing, for retargeting purposes yes, you should enable the tracking in the thank you page.
please check
Thank you for spotting the random leading character, this is now updated and removed, you may need to hard refresh the page to see the update.
Hi, you dont seem to be including the user id?
Hello Mark, I can confirm that user id is an optional remarketing parameter, however this is not included in the coding due to it being PII. However if you have a value you like to use and you like me to implement this, please email me at [email protected]
Hello,
Why the EUR (Euro) currency is not set inside the code ?
Because it is not required. Euro values are comma delimited, not dot. Don’t confuse the listed currencies as a list of supported currencies.
The currencies listed in the code are to identify dot Currency, not comma.
The code will work for EU prices.
My catalog is {{ item.product_id }}{{ item.variant_id }} . So I have to remove the shopify{{ fa_product_id_alpha2_code}}_ on default section in both liquid and checkout scripts right ?
That does indeed sound correct.
Hello, and thank you so much. I have a question, how can i implement this code in GTM? i tried to make an html tag but it doesnt works.
Thanks.
This code will not work in GTM as you need to change how it works, pretty much rewriting the whole code. If you installed it and it did not work, it most likely did not get installed correctly. You can request personal help by contacting me [email protected]
Hi, I did email to you, but I got message of address not found!! Could you please give me another email?
You can email me at [email protected]. Thank you.
There is no data in “Shopping cart abandoners (Retail) (Google Ads)”
You need to create a new list with add_to_cart minus converters = shopping cart abandoners. If you need help with this setup, you can contact me [email protected]
Hey Emmanuel, thanks for your code, just a question that has been bothering me for the last few days.
Situation: looking at the source of the pages of my website everything looks good, i see the firing happening and all the variable populated, the id is the same of the products on the merchant center
here below an example with the google ads id removed for privacy
It’s all ok… but I have this warning every time…. Also another store and never worked ok… maybe just me…. thanks anyway.
hi emanuel and everybody, is just to me to get warning in audience “did not receive more than 92% of product id, not possible to personalize ads because not set up the right parameter to ID. ?? campaign stop running.
That is possible when the remarketing code is not correctly installed. Double check your product landing page that it is working by viewing the source code, check the item id, and the event. Hope this helps.
Thank you for this! Is FeedArmy required in order to use this code?
Keep rocking Emmanuel, all is working great :)by the way, iam using automatic audiences, and did a purchase test clicking AD, convertion count, but now is still showing and iam excluding past converters, should i create manually a list of past converters instead automatic one?
Hello Sergio, thank you for the kind words. If you want to setup a manual list, yes sure go ahead. Using manual setups allows you to fine tune your remarketing. However if the list becomes too small it tends to not work. So experiment and see how it goes.
Emanuel, why tag assistance always fail remarkting tag when try validate merchant ID? the product ID is corrected between merchant and tag. is that normal? i think i can ignore that tag assistance validation, but let me know.
its normal i supose, right?
yeah, google still use that warning even with google shoppig app tags, google is very complex and all bugged warnings haha
Great.
This is mentioned in this article under, Checking The Results. Google Tag Manager has issues finding info on the page. So if you want to check if everything is correct. Use source code to view the data and compare.
Issue: ecomm_prodid never receivedHow can i fix this issue , getting this error on Audience sources
That is no longer used. ecomm_prodid is an old parementer name. The new one is called itemid. So nothing needs to be fixed. If you like to learn more: https://support.google.com/…