Интеграция Google Analytics для заказов без транзакций онлайн-платежей в Woocommerce 3 - PullRequest
0 голосов

Я пытаюсь добавить информацию о заказах в Google Analytics. Но статистика не показывает получение информации о заказах. Сайт не использует онлайн-платежи (возможно, причина связана с этим). Я использовал ответ

Я добавил код в functions.php в моей директории темы.

add_action( 'woocommerce_thankyou', 'google_analytics_integration', 20 );
function google_analytics_integration(){
    ?>
    <script>
        ga('require', 'ecommerce');
        <?php

        // GET the WC_Order object instance from, the Order ID
        $order = wc_get_order( $order_id );

        $order_key = $order->get_order_key();

        $transaction_id = $order->get_transaction_id(); // Doesn't always exist

        $transaction_id = $order_id; // (Or the order key or the transaction ID if it exist)

        ?>
        ga('ecommerce:addTransaction', {
            'id':          '<?php echo $transaction_id; // To be checked ?>',
            'affiliation': '<?php echo 'UA-130000602-1'; // replace by yours ?>',
            'revenue':     '<?php echo $order->get_total(); ?>',
            'shipping':    '<?php echo $order->get_shipping_total(); ?>',
            'tax':         '<?php echo $order->get_total_tax(); ?>',
            'currency':    '<?php echo get_woocommerce_currency(); // Optional ?>'
        }); <?php

        // LOOP START: Iterate through order items
        foreach( $order->get_items() as $item_id => $item ) :
        // Get an instance of the WC_Product object
        $product = $item->get_product();

        // Get the product categories for the product
        $categories = wp_get_post_terms( $item->get_product_id(), 'product_cat', array( 'fields' => 'names' ) );
        $category = reset($categories); // Keep only the first product category
        ?>
        ga('ecommerce:addItem', {
            'id':       '<?php echo $transaction_id; ?>',
            'name':     '<?php echo $item->get_name(); ?>',
            'sku':      '<?php echo $product->get_sku(); ?>',
            'category': '<?php echo $category; ?>',
            'price':    '<?php echo wc_get_price_excluding_tax($product);  // OR wc_get_price_including_tax($product) ?>',
            'quantity': '<?php echo $item->get_quantity(); ?>',
            'currency': '<?php echo get_woocommerce_currency(); // Optional ?>'
        });
        <?php
        endforeach; // LOOP END
        ?>
        ga('ecommerce:send');
    </script>
    <?php
}

Я добавил код счетчика в header.php

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130000602-1"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-130000602-1');
</script>

Мой аккаунт Настройки Google Analytics: Google analytics settings

Выявлены конфликты в скрипте. Нижний колонтитул исчезает. Identified conflicts Identified conflicts

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Сначала сверьтесь с фиктивными данными: нормально ли они работают или нет.

  add_action('wp_head','add_gscript_trans');

        function add_gscript_trans(){?>

        <!-- Google Analytics -->
        <script>
        (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', 'UA-130000602-1', 'auto');
        /* To load the ecommerce plugin, use the following command: */
        ga('require', 'ecommerce');
    /* You add transaction data to the shopping cart using the ecommerce:addTransaction command:*/

    ga('ecommerce:addTransaction', {
      'id': '1234',                     // Transaction ID. Required.
      'affiliation': 'Acme Clothing',   // Affiliation or store name.
      'revenue': '11.99',               // Grand Total.
      'shipping': '5',                  // Shipping.
      'tax': '1.29'                     // Tax.
    });

    /* Next, to add items to the shopping cart, you use the ecommerce:addItem command: */

    ga('ecommerce:addItem', {
      'id': '1234',                     // Transaction ID. Required.
      'name': 'Fluffy Pink Bunnies',    // Product name. Required.
      'sku': 'DD23444',                 // SKU/code.
      'category': 'Party Toys',         // Category or variation.
      'price': '11.99',                 // Unit price.
      'quantity': '1'                   // Quantity.
    });
   /* Finally, once you have configured all your ecommerce data in the shopping cart, you send the data to Google Analytics using the ecommerce:send command: */

   ga('ecommerce:send');

    </script>
    <!-- End Google Analytics -->
    <?php }

Подробнее см. По этой ссылке: Трек электронной коммерции

0 голосов
/ 17 января 2019

Почему бы вам не попробовать Интеграция WooCommerce с Google Analytics По WooCommerce или Менеджер тегов Google DuracellTomi для WordPress По Томас Гейгер

0 голосов
/ 14 января 2019

Возможно эта страница поможет:

https://stackoverflow.com/a/54111464/7118098

Кроме того, не видно предыдущую строку, где определено owl, но похоже, что оно определено из jQuery $() из идентификатора элемента. Возможно, проверьте, что он существует и что owlCarousel не отложен и действительно присоединен к элементу, на который вы ссылаетесь, перед тем, как к нему будет вызван .owlCarousel ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...