Before I explain the issue it's worth noting at the start I do not have access to any html or server side code.
I'm tagging a website for a client, their website is some what similar to an ecommerce platform, there are 3 stages the user goes through before purchasing which are as follows:
Step 1 - Choose items from a table and click add button, then press submit which takes them to Step 2
Step 2 - User can modify the quantity of each product they have selected to purchase or remove the product once finished they press submit which takes them to step 3
Step 3 - On this page the user can only submit the order, once they've submitted they're taken to a confirmation page - saying thanks order received etc
The issue I'm experiencing and trying to solve is this:
I'm setting up an ecommerce purchase event, inside this event I'm trying to pass the transaction information, along with the product information.
The transaction / product information is only located on Step 3. This event I'm setting up needs to fire on the confirmation page as this is when we know the submission has taken place and the order has been received.
I've gone through documentation around ecommerce events and I'm yet to find if any, anything that can help solve the issue. I was hoping to find a solution whereby I can build the ecommerce event on Step 3 and on the confirmation page fire the event. Any suggestions?
I personally would try to review the requirements, the average transaction product quantity and then decide to go with JavaScript client-side code(implemented from GTM) to store the required product data on a cookie or the localstorage. Be careful though these solutions come with many limitations.
Cookies on mobile devices have smaller size restrictions for example.
The best way in my opinion is to communicate with the server-side developers. Because by doing this in the frontend you are risking many inconsistencies with the real data. Frontend code introduces browser compatibility issues, turned-off javascript and many more.
Also until you find a more suitable approach, you can scrape the minimum required information for the products and transaction, directly from the order-complete page. This could be done with pure-js or jQuery if it is available.
Related
I have a custom build page where users can filter products based on price, category, brand, ...
These are made out of checkboxes and a range input for the price.
I'm trying to figure out what the best way would be to track every action/filter in order to find out which brand / categories are the most popular.
Important to know
The menu contains a submenu for the categories. When the user clicks one of these links the filterpage will have this category checked in the filters.
The page does not reload when applying a filter. I'm using JS to perform a search and show new results. The page url gets updated with the correct search query parameters.
I think I have 2 options:
Track click events on the checkboxes and send every change with datalayer.push.
Track the page URL after each filter.
Option 1 is an issue because people might go to the page with some parameters in the URL. This won't be tracked because there was no click event. This issue will also apply to users that click the category in the submenu that prefills the filter.
Option 2 also is an issue because with this solution the category might be tracked 5 times if the user keeps adding or removing other filters. It always tracks all filters instead of the one that has been added.
The first step of tracking is using the analog of Occam's Razor. You want to cut off stuff that has no chance of answering legit business questions.
Your business question here is: What filters are the most helpful for the users? Now it's important to know why the business wants to know it. Cuz remember, the business is not very competent at data analysis even if it doesn't realize it.
So you need to know exactly how answering that question improves OKRs/KPIs. In this case, the legit answer could be: cuz we want to sort the filters by the usage frequency and measure if that would ease the engagement and thus, improve the conversion rate for the part of the journey from the product list to the pdp
That's a pretty weak reason, but passable. Especially if there's an issue in that transition currently.
Good, now having that context, why would we want to track filters used in pre-populated urls? Say some overzealous employee made a mistake and pre-populated some weird unneeded filter using, say, date and time of when the product has been added. And now they use that URL in all ads, so you get a lot of third party traffic coming to product lists with a date as a filter.
And then, let's say, that employee keeps using that filter for other persistent links to the effect of the date/time filter becoming uncanningly popular. There. Your data slowly becomes garbage and stops answering the original question.
There are other issues with tracking pre-set filters, some of which you've outlined, but the real issue is the ability of the data to answer good business questions clearly. Tracking all filters may be able to answer some technical questions, but it's not the aim of behavioral analytics to answer technical questions. Let them use access logs and whatever else they use to answer those.
I have a website that sells products and I'm using google analytics to know some statistics about the website. Sometimes, errors happens for various reasons and purchases doesn't go through. You then have to refresh the page and try again, then everything works. The website displays the message telling the user to refresh and try again. I'm curious how many people actually do that. My question is, is it possible to know what users do when this error happens? Do they refresh and try again? Do they close the tab or do they do something else?
The question is quite broad at this moment, but there are a couple of improvements to your measurement setup, that can help you to investigate this customer behavior.
What I would do, is to implement an event tracking to indicate, that this error has occurred. You can find details about event tracking in this guide. Although I suppose, that your users are not likely to enter the website at this page, it might be a good practice to set the non-interaction flag of the event, as it is not actually generated by a user interaction.
I'd also create tracking for page reload, either by creating an other event for this, or by adding -reload suffix to these repeated pageview URLs. You can find good resources for this on SO as well, e.g. this one.
If you have a special URL for this error page (e.g. purchase-error.html instead of purchase-success.html), it is also easy to track the exit rate specific to this page.
Besides of Google Analytics, you might also want to set up heatmap or screen recording tools to understand this behavior. Hotjar, Lucky Orange are a few examples. (No affiliation.)
I will start with describing what I am trying to achieve, in order to avoid x-y problem. And if the solution I try to apply is not the best one, please, tell me a different one.
I have a website. There is an audio player on it. I would like to track in my GA how many users started the audio, how many users listened 25% of it, how many users listened 50% of it and so on. I can access the needed information (e.g. user reached 25%, so it is time to tell about this to GA through GTM) in client-side JavaScript, the question is only about setting up the GTM and GA correctly.
So, now that I described my intentions, let me show what I was able to do so far.
1 I created a custom metric with Hit scope in GA.
2 I created a tag which increments the metric created in the 1.
3 I created a custom event in GTM. When user starts playing the audio I fire the event with the help of dataLayer. And the event fires the tag which I created in 2.
4 I created a custom dashboard in GA to track how many users started the sound.
And now I am stuck. I get the needed data from my website to GTM. I trigger the tag which should send the data over to GA. I have the needed metric and dashboard set up in GA. And now I would expect the widget in my custom dashboard in GA to show that the audio was started, but it does not happen.
I am very new to GA and GTM and may not understand some concepts, as a result I may miss some necessary for troubleshooting information. I will gladly provide it if you need it.
Thank you (y).
We are trying to track the users acquisition data for a goal before the form submission is submitted and taken off the site. I once had it working back in july where a general page view trigger would happen BEFORE the event of the form submission was fired. This used to bring us the data inside of the acquisition overview in analytics letting us know social, paid etc. Right around july 20th, the function had stopped working all together and the data all (and still is) coming through as direct. Nothing really had been changed that was directly connected to the BEFORE fire.
Ive found other guides on tracking pardot and such but there was nothing that was able to send the data before it left getting the information before its sent off.
Does anyone have any idea why something like this would stop working if nothing on the pardot side or the triggers had changed? Or has anyone been able to achieve what im trying to do without the mess of chaining triggers?
We are having an issue with our tracking on www.x3tradesmen.com where a Google Tag Manager tag is firing way too many times and we cannot determine why...
We only have one website event tag linked to Google Analytics called Form Submit and typically we would receive between 2-10 Form Submit events per day at the most, however, recently we have noticed that the tag is firing 1000's of times sporadically and we cannot pinpoint the issue. We have also noticed that our users have drastically increased for short time periods (minutes/hours). We typically only get 40-80 users per day on our website but we saw a massive spike of around 400 users in less than one hour once.
We recently added the facebook pixel via GTM and that is really the only change that we have made and now we are seeing these issues. Does anyone know of any common reasons to why this would be behaving this way or can anyone see any major issues with our implementation of GA or GTM on our website that would cause this?
I know this information is vague, so please let me know if there is specific information that would help identify the issue.
Thanks in advance!
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
I presume it is the FB pixel - Facebook automatically collects information in addition to what you have configured yourself and uses post/submit events to send them. You can disable that behaviour as per documentation and see if it makes a difference:
Automatic Configuration
The Facebook pixel will send button click and
page metadata (such as data structured according to Opengraph or
Schema.org formats) from your website to improve your ads delivery and
measurement and automate your pixel setup. To configure the Facebook
Pixel to not send this additional information, in the Facebook Pixel
Base code, add fbq('set', 'autoConfig', 'false', '')
above the init call.
I had a similar issue where suddenly additional submit events turned up in the GTM preview pane that I finally tracked down to FB, so there is a good chance that yours is the same problem.