themes/BootstrapTheme/templates/bundles/DediSyliusSEOPlugin/Shop/Header/_googleTracking.html.twig line 1

Open in your IDE?
  1. {%- if sylius.channel.googleTagManagerId is not null -%}
  2.     {% if chcookieconsent_isCategoryAllowedByUser('analytics') == true %}
  3. {#        <!-- GoogleTagManager -->#}
  4. {#        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':#}
  5. {#                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],#}
  6. {#                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=#}
  7. {#                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);#}
  8. {#            })(window,document,'script','dataLayer','{{ sylius.channel.googleTagManagerId }}');</script>#}
  9. {#        <!-- End GoogleTagManager -->#}
  10.         <script>
  11.             window.dataLayer = window.dataLayer || [];
  12.             function gtag(){dataLayer.push(arguments);}
  13.             // Consentements par défaut (tout refusé)
  14.             gtag('consent', 'default', {
  15.                 'ad_storage': 'denied',
  16.                 'ad_user_data': 'denied',
  17.                 'ad_personalization': 'denied',
  18.                 'analytics_storage': 'denied'
  19.             });
  20.             // Construire l'objet consentement selon l’utilisateur
  21.             var consentPreferences = {};
  22.             {% if chcookieconsent_isCategoryAllowedByUser('analytics') == true %}
  23.             consentPreferences['analytics_storage'] = 'granted';
  24.             {% endif %}
  25.             {% if chcookieconsent_isCategoryAllowedByUser('tracking') == true %}
  26.             consentPreferences['ad_storage'] = 'granted';
  27.             {% endif %}
  28.             {% if chcookieconsent_isCategoryAllowedByUser('marketing') == true %}
  29.             consentPreferences['ad_user_data'] = 'granted';
  30.             {% endif %}
  31.             {% if chcookieconsent_isCategoryAllowedByUser('social_media') == true %}
  32.             consentPreferences['ad_personalization'] = 'granted';
  33.             {% endif %}
  34.             // Mise à jour si l’utilisateur a accepté quelque chose
  35.             if (Object.keys(consentPreferences).length > 0) {
  36.                 gtag('consent', 'update', consentPreferences);
  37.             }
  38.         </script>
  39.         <!-- Google Tag Manager -->
  40.         <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  41.                     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  42.                 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  43.                 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  44.             })(window,document,'script','dataLayer','{{ sylius.channel.googleTagManagerId }}');</script>
  45.         <!-- End Google Tag Manager -->
  46.     {% endif %}
  47. {%- elseif sylius.channel.googleAnalyticsCode is not null -%}
  48.     {% if chcookieconsent_isCategoryAllowedByUser('analytics') == true %}
  49.         <!-- GoogleAnalytics -->
  50.         <script async src="https://www.googletagmanager.com/gtag/js?id={{ sylius.channel.googleTagManagerId }}"></script>
  51.         <script>
  52.             window.dataLayer = window.dataLayer || [];
  53.             function gtag(){dataLayer.push(arguments);}
  54.             gtag('js', new Date());
  55.             gtag('consent', 'default', {
  56.                 'ad_storage': 'denied',
  57.                 'ad_user_data': 'denied',
  58.                 'ad_personalization': 'denied',
  59.                 'analytics_storage': 'denied'
  60.             });
  61.             gtag('config', '{{ sylius.channel.googleTagManagerId }}');
  62.             var consentPreferences = {};
  63.             {% if chcookieconsent_isCategoryAllowedByUser('analytics') == true %}
  64.             consentPreferences['analytics_storage'] = 'granted';
  65.             {% endif %}
  66.             {% if chcookieconsent_isCategoryAllowedByUser('tracking') == true %}
  67.             consentPreferences['ad_storage'] = 'granted';
  68.             {% endif %}
  69.             {% if chcookieconsent_isCategoryAllowedByUser('marketing') == true %}
  70.             consentPreferences['ad_user_data'] = 'granted';
  71.             {% endif %}
  72.             {% if chcookieconsent_isCategoryAllowedByUser('social_media') == true %}
  73.             consentPreferences['ad_personalization'] = 'granted';
  74.             {% endif %}
  75.             // Si l'objet contient des consentements, les envoyer avec gtag
  76.             if (Object.keys(consentPreferences).length > 0) {
  77.                 gtag('consent', 'update', consentPreferences);
  78.             }
  79.         </script>
  80.         <!-- End GoogleAnalytics -->
  81.     {% endif %}
  82. {%- endif -%}