templates/google_tag.html.twig line 1

Open in your IDE?
  1. {% set dataUserType = getTypeUserAndAboTagGoogle(app.user) %}
  2. {% set sessionLivraisontag = getSessionLivraison() %}
  3. {% set titlePage = titlePage %}
  4. {% set categoryPage = categoryPage %}
  5. {% if app.user %}
  6.     {% set user_login_status = 'logged in' %}
  7.     {% set user_type = dataUserType.user_type %}
  8.     {% set subscription_type = dataUserType.subscription_type %}
  9. {% else %}
  10.     {% set user_login_status = 'logged out' %}
  11.     {% set user_type = dataUserType.user_type %}
  12.     {% set subscription_type = dataUserType.subscription_type %}
  13. {% endif %}
  14. <script>
  15.      titlePage = '{{ titlePage }}';
  16.      categoryPage = '{{ categoryPage }}';
  17.     dataLayer.push({
  18.         event: 'page_view',
  19.         event_group: 'pageviews',
  20.         delivery_adress: '{{ sessionLivraisontag.addresseAdresse }}',
  21.         user_login_status: '{{ user_login_status }}',
  22.         user_type: '{{ user_type }}',
  23.         subscription_type: '{{ subscription_type }}',
  24.         page_title: titlePage,
  25.         page_category: categoryPage,
  26.     });
  27. </script>
  28. {% if app.request.get('navigate') == 'navigated_from_menu' %}
  29.     <script>
  30.         dataLayer.push({
  31.             event: 'navigated_to',
  32.             event_group: 'navigation',
  33.             user_type:'{{ user_type }}',
  34.             user_login_status:'{{ user_login_status }}',
  35.             navigation_category1:'{{ navigation_category1 }}',
  36.             navigation_category2:'{{ navigation_category2 }}',
  37.             navigation_category3:'{{ navigation_category3 }}',
  38.         });
  39.     </script>
  40. {% endif %}
  41. {% if app.request.get('navigate') == 'navigated_from_footer' %}
  42.     <script>
  43.         dataLayer.push({
  44.             event: 'footer_navigated',
  45.             event_group: 'navigation',
  46.             user_type:'{{ user_type }}',
  47.             user_login_status:'{{ user_login_status }}',
  48.             link_clicked:'{{ app.request.get('link_clicked') }}',
  49.         });
  50.     </script>
  51. {% endif %}
  52. {% if app.request.get('navigate') == 'navigated_from_promotion' %}
  53.     <script>
  54.         dataLayer.push({
  55.             event: 'select_promotion',
  56.             event_group: 'promotion',
  57.             user_type:'{{ user_type }}',
  58.             user_login_status:'{{ user_login_status }}',
  59.             link_clicked:'{{ app.request.get('link_clicked') }}',
  60.         });
  61.     </script>
  62. {% endif %}
  63. {% if app.request.get('navigate') == 'navigated_from_business_offer' %}
  64.     <script>
  65.         dataLayer.push({
  66.             event: 'our_business',
  67.             event_group: 'business_offer',
  68.             user_type:'{{ user_type }}',
  69.             user_login_status:'{{ user_login_status }}',
  70.             link_clicked:'{{ app.request.get('link_clicked') }}',
  71.         });
  72.     </script>
  73. {% endif %}
  74. {% if app.request.get('navigate') == 'navigated_from_b2b_menu' %}
  75.     <script>
  76.         dataLayer.push({
  77.             event: 'navigated_to',
  78.             event_group: 'navigation_btob',
  79.             user_type:'{{ user_type }}',
  80.             user_login_status:'{{ user_login_status }}',
  81.             link_clicked:'{{ app.request.get('link_clicked') }}',
  82.         });
  83.     </script>
  84. {% endif %}
  85. {% if app.request.get('navigate') == 'navigated_from_header_menu' %}
  86.     <script>
  87.         dataLayer.push({
  88.             event: 'header_navigated',
  89.             event_group: 'navigation',
  90.             user_type:'{{ user_type }}',
  91.             user_login_status:'{{ user_login_status }}',
  92.             link_clicked:'{{ app.request.get('link_clicked') }}',
  93.         });
  94.     </script>
  95. {% endif %}
  96. <script>
  97.     var items = []
  98.     {% if cart is defined %}
  99.         {% if cart.cartDetail is defined %}
  100.             {% for detail in cart.cartDetail %}
  101.                 var item = {}
  102.                 {% if detail.product.isColorLab %}
  103.                     {% if detail.productAttribute.typeFormat.id is defined %}
  104.                     item.item_name = '{{ detail.product.titre~' '~detail.productAttribute.typeFormat.name }}';
  105.                     {% else %}
  106.                     item.item_name = '{{ detail.product.titre }}';
  107.                     {% endif %}
  108.                 {% else %}
  109.                     {% if detail.productAttribute.format.id is defined %}
  110.                     item.item_name = '{{ detail.product.titre~' '~detail.productAttribute.format.name }}';
  111.                     {% else %}
  112.                     item.item_name = '{{ detail.product.titre }}';
  113.                     {% endif %}
  114.                 {% endif %}
  115.                 item.item_id = '{{ detail.product.id }}';
  116.                 item.item_category = 'articles';
  117.                 item.price = {{ detail.prixTtc }};
  118.                 item.quantity = '{{ detail.nbrPapier + detail.qty }}';
  119.                 {% if cart.isPromo and cart.codePromo.name is defined %}
  120.                     item.coupon = '{{ cart.codePromo.name }}';
  121.                 {% endif %}
  122.                 items.push(item);
  123.             {% endfor %}
  124.         {% endif %}
  125.         {% if cart.abonnementProCart is defined and cart.abonnementProCart  %}
  126.             var item = {}
  127.             item.item_name = '{{ cart.abonnementProCart.abonnement.name }}';
  128.             item.item_category = 'subscription';
  129.             item.price = {{ cart.abonnementProCart.prixTtc }};
  130.             item.quantity = 1;
  131.             items.push(item);
  132.         {% endif %}
  133.     {% endif %}
  134. </script>
  135. {% if  app.request.attributes.get('_route') in ['checkout'] %}
  136.     <script>
  137.         dataLayer.push({ ecommerce: null });
  138.         items.forEach(myFunctionItem);
  139.         function myFunctionItem(item){
  140.             dataLayer.push({
  141.                 event: 'begin_checkout',
  142.                 delivery_adress: '{{ sessionLivraisontag.addresseAdresse }}',
  143.                 user_type:'{{ user_type }}',
  144.                 user_login_status:'{{ user_login_status }}',
  145.                 ecommerce: {
  146.                     items: [item]
  147.                 }
  148.             });
  149.         }
  150.     </script>
  151. {% endif %}
  152. <script>
  153.     var itemsOrder = []
  154.     {% if order is defined %}
  155.         {% for detail in order.orderDetail %}
  156.             var item1 = {}
  157.             {% if detail.product.isColorLab %}
  158.                 {% if detail.productAttribute.typeFormat.id is defined %}
  159.                     item1.item_name = '{{ detail.product.titre~' '~detail.productAttribute.typeFormat.name }}';
  160.                 {% else %}
  161.                     item1.item_name = '{{ detail.product.titre }}';
  162.                 {% endif %}
  163.             {% else %}
  164.                 {% if detail.productAttribute.format.id is defined %}
  165.                     item1.item_name = '{{ detail.product.titre~' '~detail.productAttribute.format.name }}';
  166.                 {% else %}
  167.                     item1.item_name = '{{ detail.product.titre }}';
  168.                 {% endif %}
  169.             {% endif %}
  170.             item1.item_id = '{{ detail.id }}';
  171.             item1.item_category = 'articles';
  172.             item1.price = {{ order.prixTtc }};
  173.             item1.quantity = 1;
  174.             {% if order.isPromo and order.codePromo.name is defined %}
  175.                 item1.coupon = '{{ order.codePromo.name }}';
  176.             {% endif %}
  177.            itemsOrder.push(item1);
  178.         {% endfor %}
  179.     {% endif %}
  180. </script>
  181. {% if  app.request.attributes.get('_route') in ['checkout_verifie','checkout_poste_verifie'] %}
  182.     <script>
  183.         dataLayer.push({ ecommerce: null });
  184.         itemsOrder.forEach(myFunctionItemOrder);
  185.         function myFunctionItemOrder(item){
  186.             dataLayer.push({
  187.                 event: 'purchase',
  188.                 ecommerce: {
  189.                     transaction_id: "T_"+item.item_id + "{{ '_'~ order.id }}",
  190.                     value: {{ order.prixTtc}},
  191.                     currency:"EUR",
  192.                     items: [item]
  193.                 }
  194.             });
  195.         }
  196.         {% if order is defined %}
  197.             {% if order.cart.abonnementProCart %}
  198.                 dataLayer.push({ ecommerce: null });
  199.                 dataLayer.push({
  200.                     event: 'purchase',
  201.                     ecommerce: {
  202.                         transaction_id:"T_"+{{ order.cart.abonnementProCart.id ~'_'~ order.id }},
  203.                         value: {{ order.prixTtc}},
  204.                         currency:"EUR",
  205.                         items: [{
  206.                             item_id : '{{ order.cart.abonnementProCart.id }}',
  207.                             item_name : '{{ order.cart.abonnementProCart.abonnement.name }}',
  208.                             item_category : 'subscription',
  209.                             price : {{ order.prixTtc}},
  210.                             quantity : 1
  211.                         }]
  212.                     }
  213.                 });
  214.             {% endif %}
  215.         {% endif %}
  216.     </script>
  217. {% endif %}
  218. {% if  app.request.attributes.get('_route') in ['accueil_page_b2b'] %}
  219.     {% if tagGoogle is defined and tagGoogle %}
  220.         <script>
  221.             dataLayer.push({
  222.                 event: 'registration_success',
  223.                 event_group: 'registration_btob',
  224.                 page_title: 'formulaire inscrit abonnement',
  225.                 page_category: 'subscription',
  226.             });
  227.         </script>
  228.     {% endif %}
  229. {% endif %}