Отслеживание на сайте woocommerce

У меня есть сторонняя CRM-система для рассылки, и я хочу настроить интерес к продукту и потоки брошенных корзин.

Для этого я вставил код отслеживания на сайт, а затем в руководстве по настройке просто говорится, что нужно вставить событие посещения на страницах продукта для интереса к продукту, и это должно выглядеть так: hlt.visit(PRODUCTID, CATEGORYID, CATEGORYNAME); где PRODUCTID, CATEGORYID и CATEGORYNAME следует заменить параметрами, используемыми на сайте.

Я понятия не имею, как узнать, какой параметр мой сайт использует, например, для productid.

Как мне это понять?

Скрипт для страницы товара выглядит примерно так:

<script type = "text/javascript" language = "javascript">
 var hlt;
 var BiTrackingLoaded = function (BiTracking) {
 hlt=BiTracking;
 BiTracking.initialize('INSERTAPIKEYHERE', INSERTSESSIONTIMEHERE);
 hlt.visit(“PRODUCTID”,”CATEGORYID”,"CATEGORYNAME") }
</script>
<script>
 (function (d, t) {
 var g = d.createElement(t),
 s = d.getElementsByTagName(t)[0];
 h = "https:" == document.location.protocol ? "https://" : "http://";
 g.src = h + 'tracking.heycommerce.dk/hlbi.js';
 s.parentNode.insertBefore(g, s);
 }
 (document, 'script'));
</script>

Этот скрипт добавлен только на страницу товара? Вы используете плагин для добавления скрипта? Или вы используете PHP через хук wp_head?

Miguel Angel Martinez 17.03.2022 09:03
Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
1
1
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы отслеживать интерес к продукту, попробуйте следующее:

Добавьте скрипт через вашу дочернюю тему functions.php

add_action('wp_head', 'zz_add_tracking_codes');
function zz_add_tracking_codes(){
    // adding on product page only
    if (is_singular( 'product' )){
        $produc_id = get_the_id();
        // Remember a product can have multiple categories so if you can only add one you get the frist element form array.
        $categories = get_the_terms( $produc_id, 'product_cat');
    ?>
        <script type = "text/javascript" language = "javascript">
        const PRODUCTID = '<?php echo $produc_id; ?>';
        const CATEGORYID = '<?php echo $categories[0]->term_id; ?>';
        const CATEGORYNAME = '<?php echo $categories[0]->name; ?>';
        var hlt;
        var BiTrackingLoaded = function (BiTracking) {
        hlt=BiTracking;
        BiTracking.initialize('INSERTAPIKEYHERE', INSERTSESSIONTIMEHERE);
        hlt.visit(PRODUCTID,CATEGORYID,CATEGORYNAME) }
        </script>
        <script>
        (function (d, t) {
        var g = d.createElement(t),
        s = d.getElementsByTagName(t)[0];
        h = "https:" == document.location.protocol ? "https://" : "http://";
        g.src = h + 'tracking.heycommerce.dk/hlbi.js';
        s.parentNode.insertBefore(g, s);
        }
        (document, 'script'));
        </script>
    <?php
    }
}

Большое спасибо, кажется, что это делает трюк отлично. Если я хочу использовать его на странице корзины для брошенной корзины и мне нужно запустить его из всех продуктов, я могу использовать этот код тоже как-то правильно? сделав цикл foreach для товаров в корзине?

Tobias Nørbygaard 25.03.2022 09:42

@TobiasNørbygaard для брошенной тележки вам придется использовать другой подход. В настоящее время вы отправляете данные о посещении страницы, но для брошенной корзины вам нужен способ проверить, действительно ли эта корзина была брошена, и я не думаю, что это должно быть при загрузке страницы корзины.

Miguel Angel Martinez 29.03.2022 09:43

Ангел Маринез На самом деле событие из CRM-системы — это событие добавления в корзину, а затем, используя товары со страницы корзины, которые были добавлены в корзину, он может проверить и увидеть, были ли эти товары также куплены в течение X времени, и если не отправлять почту. Так что он должен просто отправлять данные о загрузке страницы

Tobias Nørbygaard 29.03.2022 11:06

@TobiasNørbygaard, вы имеете в виду, что вам также нужно обрабатывать отправку данных [добавлено в корзину], а затем при каждой загрузке страницы корзины? Вам нужно будет поделиться дополнительной информацией о CRM API.

Miguel Angel Martinez 29.03.2022 16:55
support.heyloyalty.com/hc/en-us/articles/… Это то, что у меня есть из документации из CRM, мне просто нужно отправить данные о загрузке корзины и, как минимум, идентификатор продукта и количество
Tobias Nørbygaard 30.03.2022 08:06

Другие вопросы по теме