Добавить данные заказа в коде конверсии Adword в Woocommerce - PullRequest
0 голосов
/ 05 июня 2018

У меня есть код конверсии AdWords, который я хочу добавить в свою дочернюю тему. Я хочу вставить общую сумму покупки в атрибут «value» в этом фрагменте кода, чтобы каждый раз, когда код вызывал общую сумму вКорзина добавлена ​​в конверсию.

<script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
        <script>
            window.dataLayer = window.dataLayer || [];
            function gtag(){dataLayer.push(arguments);}
            gtag('js', new Date());

            gtag('config', 'AW-806400000"');
            gtag('event', 'conversion', {
                  'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
                  'value': 1.0, **[Get the Total from cart and use here]**
                  'currency': 'USD',
                  'transaction_id': ''
              });

        </script>

1 Ответ

0 голосов
/ 05 июня 2018

Обновление

Как предположил Рейгель, оно должно быть более соответствующим в конечной точке "Заказ получен" (спасибо странице).Здесь вместо этого мы нацеливаем сумму заказа (так как объект корзины больше не существует).

Таким образом, код должен быть:

add_action('wp_head','google_tag_manager_checkout_conversion_script' );
function google_tag_manager_checkout_conversion_script() {
    // Only on "Order received" page
    if( ! is_wc_endpoint_url('order-received') ) 
        return; // Exit

    global $wp;

    $order_id  = absint( $wp->query_vars['order-received'] );
    $order_key = isset( $_GET['key'] ) ? wc_clean( $_GET['key'] ) : '';

    if ( empty($order_id) || $order_id == 0 )
        return; // Exit

    $order = wc_get_order( $order_id );

    if ( $order->get_order_key() != $order_key )
        return; // Exit

    // Get Order total amount and Order transaction ID
    $order_total    = (float) $order->get_total();
    $transaction_id = $order->get_transaction_id();

    ?>
    <script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
    <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'AW-806400000"');
        gtag('event', 'conversion', {
              'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
              'value': <?php echo $order_total; ?>,
              'currency': 'USD',
              'transaction_id': '<?php echo $transaction_id; ?>'
          });
    </script>
    <?php
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.

Это должно работать лучше, когда вы получите идентификатор транзакции на этот раз.


Оригинальный ответ на оригинальный вопрос о том, как попасть в корзинуитого для этого скрипта Adwords…

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

<?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>

Страница проверки таргетинга, вы можете попробовать следующую подключенную функцию, которая добавит ваш скрипт в<head> раздел с правильным общим количеством корзины:

add_action('wp_head','google_tag_manager_order_received_conversion_script' );
function google_tag_manager_order_received_conversion_script() {
    // Only on checkout page
    if( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return;
    ?>
    <script async src="https://www.googletagmanager.com/gtag/js?id=AW-806400000"></script>
    <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'AW-806400000"');
        gtag('event', 'conversion', {
              'send_to': 'AW-806400000"/iHbjCOSfAewkasdowew',
              'value': <?php echo number_format( WC()->cart->total + WC()->cart->total_tax, 2 ); ?>,
              'currency': 'USD',
              'transaction_id': ''
          });
    </script>
    <?php
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.

Но это кажется странным, поскольку в нем еще нет идентификатора транзакции для установки ...

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