If the anchor portion of the URL contains Google Analytics custom campaign parameters (i.e., UTM parameters), those parameters get kept in the anchor and sent to Google Analytics for processing, unless the allowAnchor field is set to false (reference this Google Developers help page.)
This is a change related only to the most recent version of Google Analytics tracking code (i.e., analytics.js). However, this practice it still not recommended (e.g., per the Google Analytics “Campaign URL Builder” page) for several reasons:
- URL fragments in ad destination URLs are not supported by some advertising platforms. In some cases the URL fragments can be stripped before sending the user to the landing page URL, which means they would not be present in the landing page for processing by Google Analytics.
- If the most recent version of Google Analytics tracking code (i.e., analytics.js) is not inline in the landing page, the parameters won’t be sent to the related page’s Google Analytics property for processing.
- Single-page applications, as well as AJAX methods, reserve the hashtag for specific purposes. It’s not a good idea to potentially interfere with those purposes by using the fragment portion of the URL to pass campaign parameters.
- Google Analytics recently started to include the fragment in the Request URI dimension by default, which can add a good bit of “noise” to all Google Analytics reports that present this dimension.
Using the fragment portion of the URL to pass campaign parameters