For local businesses their Google My Business Page in localised search results can be a major source for leads, however it is hard to see how well it is performing. By default the traffic it generates is mixed in with normal search result listing data.
This simple task makes it possible to cleanly separate out the Local Listing information in your Google Search Console and in Google Analytics. Here are the steps:
The first step is to make it possible to detect that traffic came from the page. This is done by adding a special hash parameter (#) to the end of the Website URL in the Contact Info for your Business Page. e.g.
This is the syntax I recommend: Start with #GoogleLocal- to make it easy to determine it is a URL only used on local pages. Then add a name to identify which page, e.g. the suburb.
The reason I use this syntax is because it is nicer to read and the use of the hash means it does not technically alter the final destination. e.g. Analytics will consider it as the same page as the one without the hash.
The more standard tactic is to place campaign tracking parameters directly into the Business Pages Website URL. These make for very ugly URLs showing up in the reports. Hard coding the campaign parameters also limit the control you have over tracking. A later step in this article makes it possible for us to have clean URLs as well as track campaigns.
Once you have added your tracking URLs you will be able to see search activity for your listings via your Google Search Console. Go to the Search Analytics report, select Pages, then filter Pages by "#".
You might find it even more interesting to view the Queries related to your business pages. Just switch to the Queries report...
By default Analytics classes all Google search traffic as medium=organic, source=google. This includes clicks from the local pack. The following piece of code detects your My Business URLs and transforms them into campaign tracking URLs. This means we can control how Analytics classifies traffic from the local page website clicks.
I decided to continue to classify them as google/organic and add a campaign value as a way to segment out our local listing traffic. The campaign value is taken from the hash text you used.
The code should be placed before your Google Analytics code. If you use the Google Tag Manager then adding it as a high priority tag should work fine.
Note the extra check on document.referrer. This is to avoid it overwriting clicks from the business page itself, which normally gets classed as Social/Google+.
Once implemented you can go to your normal Organic Search reports and add a secondary dimension of "Campaign" to see which Business Listings caused any click. I've also created a Custom Report to show your My Business traffic.
As a final touch, I like to remove the tracking parameters from the URL after they have been used. Then the visitor does not realise what you've been up to ;-)