Как отправить запрос на покупку в Google Analytics через Analytics.js с помощью команды "ga"?

Хорошо, давайте начнем, я включил небольшой скрипт в свой "головной" шаблон на всех страницах

    <script type="text/javascript">
        (function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,"script","https://www.google-analytics.com/analytics.js","ga");

    ga("create", "' . $this->getTrackId() . '", "auto");

    ga("require", "ec");

    ga("send", "pageview");        
    </script>

и другие скрипты:

для просмотра сведений о продукте

<script type="text/javascript">
    ga("ec:addProduct", {               // Provide product details in a productFieldObject.
        "id":"' . $post_id . '",        // Product ID (string).
        "name":"' . $title . '",        // Product name (string).
        "category":"' . $categories . '"       // Product category (string).
    });

    ga("ec:setAction","click", {       // click action.
        "list":"' . $categories . '"          // Product list (string).
    });
    ga("send", "pageview"); 
    </script> 
    <script type="text/javascript">
    ga("ec:addProduct", {
      "id": "' . $post_id . '",
      "name": "' . $title . '",
      "category": "' . $categories . '"
    });
    ga("ec:setAction", "detail");
    ga("send", "pageview"); 
    </script>

для покупки

<script type="text/javascript">
        ga("ec:addProduct", {               
            "id": "'.$product_id_arr.'",                   
            "name": "'.$name.'", 
            "variant": "'.$variant.'",              
            "price": "'.$subtotal.'",                
            "quantity": "'.$qty.'"                    
            });

        ga("ec:setAction", "purchase", {         
        "id": "'.$trans.'"                       
        });
        ga("send", "pageview");  
        </script>

и другие классические функции analytics.js

каждый код включает ga ("отправить", "просмотр страницы"); линии, но из-за этого статистика просмотров страниц увеличивается в несколько раз и является некорректной. Без этой строки такие данные, как "покупка", перестают отправляться. Что я делаю?

Мне нужно, чтобы количество просмотров страниц было правильным, в то время как другие данные также должны быть отправлены, какие есть варианты?

1 ответ

Решение

Поскольку у вас есть "отправить" просмотр всех страниц в заголовке, вы можете использовать "события" для остальных. Это предполагает, что информация о товаре и его покупка - это события, происходящие на одной странице.

Например, вместо отправки просмотра страницы с описанием товара, вы можете отправить событие:

  ga('send', 'event', 'product', 'view-detail', 'PRODID000111');

для покупки:

  ga('send', 'event', 'product', 'purchase', 'PRODID000111');

шаблон

  ga('send', 'event', {EVENT CATEGORY}, {EVENT ACTION}, {EVENT LABEL});
Другие вопросы по тегам