I want to track product click so how to create project object or how to pass project object ?
-
Hey,
I am reading this post - https://developers.google.com/tag-manager/enhanced-ecommerce#product-clicksIn this there is function like given below - function(productObj) { dataLayer.push({ 'event': 'productClick', 'ecommerce': {.....................................................................................................................Now my developer asking how to create object? or how to pass product object? Like on page we have more than 50 products listed, so if any one clicks on any product from list then how will we know which product has been clicked?Hope you understand what i want to say? Regards,Mitesh
-
Hi Mitesh, the product object needs to be a javascript object with the following properties expected:
'name': productObj.name, // Name or ID is required. 'id': productObj.id, 'price': productObj.price, 'brand': productObj.brand, 'category': productObj.cat, 'variant': productObj.variant
Creating such an object and passing it to the analytics could be done with a simple function like the following.You say you have a list of products. Let's assume for the purposes of a demonstration that the list item is formatted like so:
Example product
An Example product
You could listen for clicks on the basket add (which you are probably doing already, so your developer should be able to hook the new functionality into the same event handler, but for the purposes of a demonstration I've included an example of the event listener too). Then find the product related to the current "add to basket" link. I've included 2 very simple functions using pure Javascript to demonstrate how this can be done.
var basketLink = document.querySelectorAll('.addtobasket');
for (var i = 0; i < basketLink.length; i++) {
basketLink[i].addEventListener('click', function(event) {
console.log('Basket link clicked');
event.preventDefault();
product = getSchemaOrgProductData(this.parentNode);
console.log( product.name );
console.log( product.brand );
});
}
function getProductData(context) {
var product = {};
product.name = context.querySelector('.product-name').textContent;
product.brand = context.querySelector('.product-brand').textContent;
return product;
}
function getSchemaOrgProductData(context) {
var product = {};
product.name = context.querySelector('[itemprop="name"]').textContent
product.brand = context.querySelector('[itemprop="brand"]').textContent;
return product;
}That should be enough for your developer to understand how to create a product object that can be passed to the analytics function. I haven't implemented methods for fetching and setting all relevant properties but the developer can copy the example.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Lower Impression higher clicks and CTR Compared to Previous Month?
I'm looking at our monthly traffic report and noticed that impressions were down in October compared to September but Clicks and CTR increased. I'm thinking it's because certain keyword increased in rank thus increase chances of a click through? Anyone else have any idea? Thank you in advance. Here is the data below: September:
Reporting & Analytics | | davidwang
Total clicks: 5071
Total impressions: 83429
Avg. CTR: 6.08%
Avg. Position: 28.4 October:
Total clicks: 5695
Total impressions: 79366
Avg. CTR: 7.18%
Avg. Position: 28.90 -
Tracking Organic Traffic and Conversions from multiple TLDs with Google Tag Manager
Hello Guys, I want to track traffic / conversions from different domains (basically same brand - but a lot of different TLD's). The "problem" is that the main conversion which I want to track always happens on the .com TLD and all other TLD's link to there. The problem is, that now the traffic always counts as Referral Traffic, even after setting up cross domain tracking over the google tag manager... So example: Sessions begins on example.co.uk/landing-page11 after User searched on it on google. He decides to buy the product and therefore moves to example.com for the checkout process. No I will have the conversion in my google analytics under referral with example.co.uk. --> but I want to have it under organic, and not under referral. How I can manage this? Thanks for you Help!
Reporting & Analytics | | _Heiko_0 -
Track subdomains in the same analytics property/view
Hello to everyone, this is my first question (kind of a newbie here :-D). I have a website that spans over 4 subdomains + the main domain and I'd like to have a place where I can see the total page views, events and goal completions. Main domain is langhe.net, and subdomains are eventi.langhe.net, servizi.langhe.net, shop.langhe.net, about.langhe.net. The website is based on wordpress and I'm using google analytics for wordpress by yoast as analytics plugin. The configuration of the plugin is as follows: all the website have the same UA-XXXXXXXX code The Subdomain Traking field (setDomainName) is filled with .langhe.net Cross-Domain tracking is enabled Cross-Domain Primary Domain (setDomainName) is langhe.net Cross-Domain Tracking, Other Domains field is filled with: about.langhe.net, eventi.langhe.net, servizi.langhe.net, shop.langhe.net. In the GA property I've created an Advanced Custom Filter configured this way: Field A -> Extract A = hostname (.*) Field B -> Extract B = request URI (.*) Output To -> Constructor = request URI $A1$B1 Field A Required: yes Field B Required: No Override Output Field: yes Case Sensitive: no I was wondering it this is the best way of doing it, or if there are other "best practice" ways to obtain what I'm looking for (for example with this configuration it's become quite difficult to separate the traffic sources for each website). Thank you in advance 🙂
Reporting & Analytics | | Enrico_Cassinelli
Cheers!0 -
Are RSS fees tracked by Google Analytics?
In both the new GA and former version, how are RSS feeds handled by Google Analytics. If not, is there an easy means by which to account for this traffic, in order to have a better picture of traffic. Thanks. Alan
Reporting & Analytics | | ahw0 -
In Ecommerce Conversion Tracking Revenue Is not Showing
Hello Everyone, I have implemented Ecommerce tracking in google analytic but I am not able to see revenue and average value. am I missing something ? Please tell me how can I see revenue and average value. I am also attaching image of that so anybody can understand. Please help me out asap. Thanks CVFakjD
Reporting & Analytics | | Alick3000 -
Google Maps not passing referral data
Google Maps is not passing referral data (URLs, not KWs). Google+ Local is referring, but nothing from maps. Maps referrals appear to be coming across as direct. Any ideas? We haven't found anything online, one of the guys at the office documented what we did find, using Chrome's debugger - http://manofactionmetrics.com/2012/11/02/google-maps-not-passing-any-referral-data/
Reporting & Analytics | | Danieljacobree0 -
Why does this domain never pass 150 organic visits from Google?
Hello, The domain http://bit.ly/fwTEsT has been out there for one year, it has about half million indexed pages. We made a lot of changes that could affect SEO and I don't know if Google likes it but the one thing it's sure is that in one whole year the organic visits from Google never got pass 150 visits per day. We've got about 2000 PPC visits but organic don't go up. I'd like to know what our main errors would be so we can focus more on fixing them. Thank you, Alexandru.
Reporting & Analytics | | elwebmaster0 -
Tracking pdf downloads
hello, I have a site with 100's of pdf's for download and I would like to track how many people are downloading these, does anyone have a simple solution for this? Is there anyway I can do this in Google Analytics using one piece of code, thanks...
Reporting & Analytics | | Socialdude0