Woocommerce "/checkout/order-received" page is being indexed by search engines - woocommerce

I recently found this problem where google indexes the order received page, so customers addresses are exposed to the public. I've added
if(is_checkout()) {
?><meta name="robots" content="noindex"><?php
}
Still google has this page indexed. The url for these pages look like https://www.domain.co.uk/checkout/order-received/1749/?key=wc_order_5570453459f7
Shouldn't the order key only be valid for a short while? I thought of adding a user logged in condition but what if the purchase is by a guest?
How do i solve? I don't want customers information to be exposed.

Related

How do I stop these self-referrals and get accurate referrals from our cross-domain eCommerce data?

Basically, I work for a theater and we send patrons to our primary website (we'll call this theater.org) to look at events and choose what tickets to buy and when they go to purchase tickets, we have put links in our primary webpages to our ticketing platform (we'll call this tickets.com).
Now, I have set up cross-domain tracking so that I can see people once they get onto tickets.com and see if they purchase a ticket. Great! But I can't really see where those people are specifically coming from because the referral source is always theater.org. I would like to see the original referral to theater.org that led to the purchase on tickets.com.
Here's what I've tried:
I've added the allowLinker (true) and the cookieDomain (auto) to my cross-domain Google TagManager
I have added both domains to the Referral Inclusion List (now I just get "direct" as the source for my eCommerce transactions instead of theater.org )
Additional info:
I have used the Analytics debugger console to see that the user-id changes as I move from one of my domains to the other, so that's definitely the primary issue
I see correct referrals on my Page Views for the theater.org , but not tickets.com
You need to make sure both tickets.com and theater.org both use the same Google Analytics property ID (UA-XXXXXXX-X) and have cross-domain tracking configured in the GTM container for BOTH domains.
Then you can look at the acquisition report tp get a sense of how people are arriving at your site OR dimensions like "previous page" or segment your goals by sessions that have visited a specific page.

Analytics Hostname Filter Removes Domain

I have an extremely weird filter issue with Google Analytics and Shopify. It used to control spam referral issues and control page views for just the store.
A view is setup that includes only the store's subdomain and its checkout based on the hostname filter field. I have tried these filter patterns:
store\.domain\.com|.*shopify\.com
store\.domain\.com|checkout\.shopify\.com
^(store\.domain\.com|checkout\.shopify\.com)$
The only pages included have a hostname of store.domain.com. No pages on shopify.com ever get included. It's only when the filter is removed altogether that page views on the shopify.com start appearing.
Here's where it gets weirder.
I have an unfiltered view setup where I run the exact filter patterns on the hostname as an advanced segment. Pages on the sub-domain checkout.shopify.com show for any of the filter patterns.
Secondly, I confirm the pages disappearing in the analytics reports have a hostname that is exactly:
checkout.shopify.com
Any further debugging ideas? Possible explanations?
The reason why your filter isn't working is because the Checkout at Shopify uses virtual pageviews instead of the regular ones, in order to have neat names that make your reports and funnels clean instead of leaving a bunch of meaningless IDs like the ones you see in the URL. These pageviews don't contain a hostname.
Now you may be wondering why it worked in your advanced segments. If you check your Hostname report (under Audience > Technology > Network) you'll see the checkout.shopify.com hostname there, but with 0 sessions and some transactions. That's because it was the ecommerce tracking code that sent the hostname value that you saw in your segment, not the pageview.
One solution in this case is to create your filter in two steps.
1) Merge the Hostname and Request URI into Custom Field 1 with an Advanced filter. If Hostname is your Field A, make sure you leave "Field A Required" unchecked.
2) Filter the custom field for store.domain.com|/checkout
On a side note, my preferred method to avoid spam in to simply create a new property. You'd be surprised how most spammers only target UA-XXXXX-1 and leave alone all others properties. They are probably just using the Measurement Protocol to send fake data and they generate the IDs programatically instead of actually going through the trouble of finding the code on the site.
I hope that helps, and don't hesitate to contact me or Shopify's support if you need any extra help.

Google Analytics Real-time overview shows a page that doesn't exist

I don't understand this. How can this happen?
I have an educational site and when I looked at Google Analytics I saw a porn page in active page which doesn't exist on my site.
What is this and how can I stop this from happening?
I checked for that page on my website and there is no such page.
This is not actually a hit for a Page on your website, it is rather a Referral (i.e. the source from which a user was supposedly coming from before landing on your site): https://support.google.com/analytics/answer/2795830?hl=en
It is actually spam generated by bots and crawlers, and you can follow the steps listed in this article to mitigate this issue: http://moz.com/blog/how-to-stop-spam-bots-from-ruining-your-analytics-referral-data
For the most common sources of Referral Spam, you might want to add an Exclude Filter to simply ignore those hits:
To filter out a referring source from your reports, create the following filter:
Filter Type: Custom Filter > Exclude
Filter Field: Campaign Source
Filter Pattern: Enter the domain of the referring source that you would like to exclude, for example, google.com. You can use regular expressions if you would like to exclude several referring sources.
If you are wondering about the "Active Page" view listing a spammy-looking URL, it is because that page most likely is a 404 page your website serves in response to the request.
Note that the URL also begins with a slash delimiter ("/"), as in yourwebsite.com/www.spammy-site.com -- this will show up in Analytics as /www.spammy-site.com, as in the examples above.
This is Ghost Referrer Spam, and it shows as both pages and/or referrals(you can see it in the screenshot bellow). This "visits" never reach your website actually. The only thing you should worry about is your data since it affects your statistics by adding useless data to your Google Analytics.
The only way to stop them for now is by filtering them in Google Analytics as #Philippe mention you can add a single filter or you can use a more general approach with a filter based on Valid Hostnames that will stop this and most of the Referrer Spam.
Basically, this works by excluding all hits that don't have any of your valid hostnames since the spammers don't know who are they targeting they use a fake or empty hostname as you can see in the screenshots
Here is more information about this solution and others https://stackoverflow.com/a/28354319/3197362
1 In Google Analytics, go to the Admin tab.
2 Go to View Column and select Filters.
3 Click on New Filter.
4 Put Spam Porn Referrals as a name for the Filter.
5 Filter Type select Custom. Filter Field, find and select Campaign
Source. In the Filter Pattern text box, copy and paste this Regular
Expression.
depositfiles-porn.ga|youporn-forum.ga|pornhub-forum.ga|generalporn.org|rapidgator-porn.ga|meendo-free-traffic.ga|amanda-porn.ga|torture.ml|pornhub-forum.uni.me
6 Click Save.
You can check this link also. I have seen the same problem and now i am done with this.
Stop Spam or adult site referrals in google analytics

tracking users with google analytics after they leave my domain to make a purchase and come back

I would like to track where users originally came from when they make a purchase on my site so I know which keywords are more profitable and which websites are best for advertising.
an example is a user is on my site with my google analytics tracking code which has details of where they came from, and then decides to upgrade. they leave my domain to go to my biller (2checkout) complete the purchase and return to my thank you page.
I have transaction code and analytics code on my thank you page and the transactions are showing up with the correct product/amounts in GA however there is no other data and in my reports the referring url is always my biller or a credit card companies authorisation page.
i can manually connect which customer is which by saving their referring data when they first come to the site and then matching it up after they make a sale, but I would like it to show up in my google adwords / analytics account where it is easier to manipulate the data and see trends.
if anyone can help me with this annoying issue I would be vbery greatful, but I fear I may end up living off reports I create and then matching them up with adwords manually :/
One thing you can do is have a click event trigger a custom variable. When the user clicks on whatever link that takes them to your biller, have the custom variable trigger with the information you want to carry over (like the current page URL, some campaign name, whatever). Specify the custom variable's scope as Session or Visit so that it get associated with the thank you page.
http://code.google.com/apis/analytics/docs/tracking/gaTrackingCustomVariables.html
An alternative is to do campaign tracking:
http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55540
That is more or less the same principle as the first suggestion, but with using specified URL parameters. Depending on how your pages are actually coded, you may need to push a virtual page view with the campaign code(s):
http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55521

managing redirection with google analytics

I have a site that contains the file
redirect.php?id=123
It redirects folks to another site using an id it pulls from the database.
I'd like to track the page on Google Analytics, see where users are coming from, and what popular sites they're going to.. etc.
I currently set up the page so that it pulls (with PHP) the link from the database, and outputs the ga.js stuff and a javascript redirect.
The issue is that I'm getting the data on my analytics dashboard as if every id is a different page..
What is a better way to do this?
If you want to check for pages of the type redirect.php?id=x then the page Carlos links to is how you would do it.
You would want to exclude the id parameter from your search. Then Analytics would combine all the redirect.php?id=1 redirect.php?id=2 redirect.php?id=3 pages as just a single page named redirect.php
How do I exclude query parameters from my reports?

Resources