Track your 404 errors with Google Tag Manager and Symfony2.
{% block javascripts %}
{{ parent() }}
{# var used for Google Tag Manager for detect 404 errors #}
<script type="text/javascript">
var hasPageNotFoundError = true;
</script>
{% endblock %}
# Google
google_gtm_id: "GTM-XXXXXX"
twig:
globals:
google_gtm_id: %google_gtm_id%
After , add :
{% if app.environment == 'prod' %}
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id={{ google_gtm_id }}" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ google_gtm_id }}');
</script>
<!-- End Google Tag Manager -->
{% endif %}
For set configuration, go to https://tagmanager.google.com
Create variable to detect 404 :
- Name: hasPageNotFoundError
- Type: custom javascript
- Code:
function() {
return typeof hasPageNotFoundError === 'undefined' ? 0 : hasPageNotFoundError;
}
- Name: 404
- Trigger Type: Page view
- Fire On: hasPageNotFoundError greater than or equal to 1
Create a Tag Universal Analytics
:
- Tag Type: Universal Analytics
- ID de suivi: UA-XXXXXXXXX-X
- Type de suivi: Page vue
- Fire On: All Pages
Create a Tag Page Not Found
:
- Tag Type: Universal Analytics
- ID de suivi: UA-XXXXXXXXX-X
- Type de suivi: Event
- Category: page_not_found
- Action: {{Page URL}}
- Libellé: {{Referrer}}
- Fire On: 404