custom/plugins/DIScoGA4/src/Resources/views/storefront/ga4/meta-extra-information.html.twig line 1

Open in your IDE?
  1. {% block disco_meta_extra_information %}
  2.     {% block disco_meta_extra_information_custom_url %}
  3.         {% if config('DIScoGA4.config.customUrl') %}
  4.             <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  5.                     type="text/javascript">
  6.                 window.ga4CustomUrl = '{{ config('DIScoGA4.config.customUrl')|raw }}';
  7.             </script>
  8.         {% else %}
  9.             <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  10.                     type="text/javascript">
  11.                 window.ga4CustomUrl = '';
  12.             </script>
  13.         {% endif %}
  14.     {% endblock %}
  15.     {% block disco_meta_extra_information_checkout_extra %}
  16.         {% block disco_meta_extra_information_checkout_extra_shipping_method %}
  17.             {% if page.order.deliveries.first.shippingMethod is defined %}
  18.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  19.                         type="text/javascript">
  20.                     window.ga4ShippingMethod = '{{ page.order.deliveries.first.shippingMethod.translated.name }}';
  21.                 </script>
  22.             {% endif %}
  23.         {% endblock %}
  24.         {% block disco_meta_extra_information_checkout_extra_payment_method %}
  25.             {% if page.order.transactions.last.paymentMethod is defined %}
  26.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  27.                         type="text/javascript">
  28.                     window.ga4PaymentMethod = '{{ page.order.transactions.last.paymentMethod.translated.name }}';
  29.                 </script>
  30.             {% endif %}
  31.         {% endblock %}
  32.         {% block disco_meta_extra_information_checkout_extra_order_number %}
  33.             {% if page.order.orderNumber is defined %}
  34.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  35.                         type="text/javascript">
  36.                     window.ga4OrderNumber = '{{ page.order.orderNumber }}';
  37.                 </script>
  38.             {% endif %}
  39.         {% endblock %}
  40.     {% endblock %}
  41.     {% block disco_meta_extra_information_main %}
  42.         {% block disco_meta_extra_information_searchterm %}
  43.             {% if page.searchTerm %}
  44.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  45.                         type="text/javascript">
  46.                     window.searchTerm = '{{ page.searchTerm }}';
  47.                 </script>
  48.             {% endif %}
  49.         {% endblock %}
  50.         {% block disco_meta_extra_information_searchResult %}
  51.             {% if page.listing.total %}
  52.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  53.                         type="text/javascript">
  54.                     window.searchResult = '{{ page.listing.total }}';
  55.                 </script>
  56.             {% endif %}
  57.         {% endblock %}
  58.         {% block disco_meta_extra_information_config %}
  59.             {% block disco_meta_extra_information_config_initialisation %}
  60.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  61.                         type="text/javascript">
  62.                     window.ga4RemarketingEnabled = false;
  63.                     window.googleAnalyticsEnabled = false;
  64.                     window.googleAdsEnabled = false;
  65.                     window.ga4AdvancedAdsEnabled = false;
  66.                     window.ga4Enabled = false;
  67.                     window.googleTagEnabled = false;
  68.                     {% if config('DIScoGA4.config.cookieConfig') %}
  69.                     window.ga4CookieConfig = '{{ config('DIScoGA4.config.cookieConfig') }}';
  70.                     {% else %}
  71.                     window.ga4CookieConfig = "standardCookies";
  72.                     {% endif %}
  73.                     {% if config('DIScoGA4.config.ga4cookieListener') %}
  74.                     window.ga4cookieListener = true;
  75.                     {% else %}
  76.                     window.ga4cookieListener = false;
  77.                     {% endif %}
  78.                     {% if config('DIScoGA4.config.generateLeadValue') %}
  79.                     window.generateLeadValue = '{{ config('DIScoGA4.config.generateLeadValue') }}';
  80.                     {% else %}
  81.                     window.generateLeadValue = 0.0;
  82.                     {% endif %}
  83.                     window.ga4Currency = '{{ context.currency.translated.shortName }}';
  84.                     {% if config('DIScoGA4.config.transationIdMethod') and config('DIScoGA4.config.transationIdMethod') == "trueOrderId" %}
  85.                     window.transationIdMethod = "trueOrderId";
  86.                     {% else %}
  87.                     window.transationIdMethod = "hashedOrderId";
  88.                     {% endif %}
  89.                 </script>
  90.             {% endblock %}
  91.             {% block disco_meta_extra_information_config_activation %}
  92.                 {% if config('DIScoGA4.config.googleTagEnabled') and (config('DIScoGA4.config.googleTagId') or config('DIScoGA4.config.customTagManager')) %}
  93.                     <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  94.                             type="text/javascript">
  95.                         window.ga4TagId = '{{ config('DIScoGA4.config.googleTagId')|raw }}';
  96.                         window.dataLayer = window.dataLayer || [];
  97.                         window.googleTagEnabled = true;
  98.                         window.ga4Enabled = true;
  99.                         window.ga4controllerName = '{{ controllerName|lower }}';
  100.                         window.ga4controllerAction = '{{ controllerAction|lower }}';
  101.                         window.ga4activeNavigationId = '{{ page.header.navigation.active.id }}';
  102.                         window.ga4activeNavigationName = '{{ page.header.navigation.active.name }}';
  103.                         window.ga4affiliation = '{{ context.salesChannel.name }}';
  104.                         window.ga4salesChannelName = '{{ context.salesChannel.name }}';
  105.                         window.ga4salesChannelId = '{{ context.salesChannel.id }}';
  106.                         {% if config('DIScoGA4.config.enableUserId') %}
  107.                         window.ga4enableUserId = true;
  108.                         {% else %}
  109.                         window.ga4enableUserId = false;
  110.                         {% endif %}
  111.                         {% if config('DIScoGA4.config.uvpPriceAsCoupon') %}
  112.                         window.ga4upCoupon = true;
  113.                         {% else %}
  114.                         window.ga4upCoupon = false;
  115.                         {% endif %}
  116.                         {% if config('DIScoGA4.config.graduatedPriceAsCoupon') %}
  117.                         window.ga4gpCoupon = true;
  118.                         {% else %}
  119.                         window.ga4gpCoupon = false;
  120.                         {% endif %}
  121.                     </script>
  122.                 {% endif %}
  123.                 {% if config('DIScoGA4.config.googleTagEnabled') and config('DIScoGA4.config.customTagManager') and config('DIScoGA4.config.customScript') %}
  124.                     {% if '<script>' in config('DIScoGA4.config.customScript') and '</script>' in config('DIScoGA4.config.customScript') %}
  125.                         {{ config('DIScoGA4.config.customScript')|raw }}
  126.                     {% else %}
  127.                         <script>
  128.                             {{ config('DIScoGA4.config.customScript')|replace({'<script>': '', '</script>': ''})|raw }}
  129.                         </script>
  130.                     {% endif %}
  131.                 {% endif %}
  132.             {% endblock %}
  133.             {% block disco_meta_extra_information_config_google_analytics %}
  134.                 {% if config('DIScoGA4.config.googleAnalyticsEnabled') %}
  135.                     <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  136.                             type="text/javascript">
  137.                         window.googleAnalyticsEnabled = true;
  138.                     </script>
  139.                 {% endif %}
  140.             {% endblock %}
  141.         {% endblock %}
  142.         {% block disco_meta_extra_information_usertracking %}
  143.             {% if context.customer is not null and not context.customer.guest ? 1 : 0 %}
  144.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  145.                         type="text/javascript">
  146.                     window.ga4UserLoggedIn = true;
  147.                 </script>
  148.                 {% if config('DIScoGA4.config.enableUserId') %}
  149.                     <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  150.                             type="text/javascript">
  151.                         window.ga4UserId = '{{ context.customer.id }}';
  152.                     </script>
  153.                 {% endif %}
  154.             {% else %}
  155.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  156.                         type="text/javascript">
  157.                     window.ga4UserLoggedIn = false;
  158.                     if (localStorage.getItem("loginSent")) localStorage.removeItem("loginSent")
  159.                 </script>
  160.             {% endif %}
  161.             {% if config('DIScoGA4.config.googleAdsEnabled') %}
  162.                 <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  163.                         type="text/javascript">
  164.                     {% if config('DIScoGA4.config.enableRemarketing') %}
  165.                     window.ga4RemarketingEnabled = true;
  166.                     {% else %}
  167.                     window.ga4RemarketingEnabled = false;
  168.                     {% endif %}
  169.                     window.googleAdsEnabled = true;
  170.                     {% if config('DIScoGA4.config.enableAdsAdvanced') %}
  171.                     window.ga4AdvancedAdsEnabled = true;
  172.                     {% else %}
  173.                     window.ga4AdvancedAdsEnabled = false;
  174.                     {% endif %}
  175.                     {% if config('DIScoGA4.config.adsValueNetto') and config('DIScoGA4.config.adsValueNetto') == "netto" %}
  176.                     window.adsValueNetto = true;
  177.                     {% else %}
  178.                     window.adsValueNetto = false;
  179.                     {% endif %}
  180.                     window.adsWithShipping = !!'{{ config('DIScoGA4.config.adsWithShipping') }}';
  181.                     {% if config('DIScoGA4.config.transationIdMethod') and config('DIScoGA4.config.transationIdMethod') == "trueOrderId" %}
  182.                     window.transationIdMethod = "trueOrderId";
  183.                     {% else %}
  184.                     window.transationIdMethod = "hashedOrderId";
  185.                     {% endif %}
  186.                     {% if config('DIScoGA4.config.customTagManager') %}
  187.                     window.customTagManager = true;
  188.                     {% else %}
  189.                     window.customTagManager = false;
  190.                     {% endif %}
  191.                 </script>
  192.                 {% if context.customer is not null %}
  193.                     <span class='d-none ga4-hidden-ads-information'
  194.                           data-feedcountry='{{ config('DIScoGA4.config.feedCountry') }}'
  195.                           data-feedlangage='{{ config('DIScoGA4.config.feedLanguage') }}' {% if config('DIScoGA4.config.enableAdsAdvanced') %} data-useremail='{{ context.customer.email }}' data-phone='{{ context.customer.activeBillingAddress.phoneNumber }}' data-firstname='{{ context.customer.activeBillingAddress.firstName }}' data-lastname='{{ context.customer.activeBillingAddress.lastName }}' data-street='{{ context.customer.activeBillingAddress.street }}' data-city='{{ context.customer.activeBillingAddress.city }}' data-region='{{ context.customer.activeBillingAddress.countryState.name }}' data-zip='{{ context.customer.activeBillingAddress.zipcode }}' data-land='{{ context.customer.activeBillingAddress.country.iso }}' {% endif %}></span>
  196.                 {% endif %}
  197.             {% endif %}
  198.         {% endblock %}
  199.         {% block disco_meta_extra_information_specialcase %}
  200.             <script {% if app.session.get('csp_nonce') %}nonce="{{ app.session.get('csp_nonce') }}"{% endif %}
  201.                     type="text/javascript">
  202.                 if (window.googleAdsEnabled !== true && window.googleAnalyticsEnabled !== true) {
  203.                     window.ga4Enabled = false;
  204.                 }
  205.             </script>
  206.         {% endblock %}
  207.     {% endblock %}
  208.     {% block disco_meta_extra_information_extensions %}
  209.         {% sw_include '@Storefront/storefront/ga4/ga4-products-extensions.html.twig' %}
  210.     {% endblock %}
  211. {% block disco_hidden_line_items_information %}
  212.     {% if page.cart %}
  213.     {% set discocart= page.cart %}
  214.     {% set discolineItems = page.cart.lineItems %}
  215.     <div class="d-none discoga4-header-hidden-line-items-information"
  216.          data-currency="{{ context.currency.translated.shortName }}"
  217.          data-shipping="{{ discocart.deliveries.shippingCosts.sum().totalPrice }}"
  218.          data-value="{{ discocart.price.totalPrice }}"
  219.          data-tax="{{ discocart.price.calculatedTaxes.amount }}"
  220.     >
  221.         {% endif %}
  222.         {% if page.order %}
  223.         {% set discocart= page.order %}
  224.         {% set discolineItems = page.order.lineItems %}
  225.         <div class="d-none discoga4-header-hidden-line-items-information"
  226.              data-currency="{{ context.currency.translated.shortName }}"
  227.              data-shipping="{{ discocart.shippingTotal }}"
  228.              data-value="{{ discocart.price.totalPrice }}"
  229.              data-tax="{{ discocart.price.calculatedTaxes.amount }}"
  230.         >
  231.             {% endif %}
  232.             {% if discocart %}
  233.             {% for lineItem in discolineItems %}
  234.                 {% if lineItem.priceDefinition.price %}
  235.                     {% set gaPrice = lineItem.priceDefinition.price %}
  236.                 {% else %}
  237.                     {% set gaPrice = lineItem.price.totalPrice %}
  238.                 {% endif %}
  239.                 {% block disco_hidden_line_item_information %}
  240.                     <span class="hidden-line-item"
  241.                           data-id="{{ lineItem.id }}"
  242.                           data-name="{{ lineItem.label }}"
  243.                           data-type="{{ lineItem.type }}"
  244.                           data-sku="{{ lineItem.payload.productNumber }}"
  245.                           data-quantity="{{ lineItem.quantity }}"
  246.                           data-price="{{ gaPrice }}">
  247.                 </span>
  248.                 {% endblock %}
  249.             {% endfor %}
  250.         </div>
  251.         {% endif %}
  252.         {% endblock %}
  253. {% endblock %}