Я пытаюсь установить тег преобразования Google Adwords в Wordpress; в частности Woocommerce. Мы пробовали плагины, но у них были конфликты с другими элементами, поэтому сейчас мы пытаемся реализовать их вручную.
У нас есть следующий тег 'event', помещенный в наш файл functions.php:
add_action( 'woocommerce_thankyou', 'conversion_tracking_thank_you_page' );
function conversion_tracking_thank_you_page() {
?>
<!-- Event snippet for Transaction conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-######/######',
'value': 1.0,
'currency': 'USD',
'transaction_id': '
});
</script>
<?php
}
Он работает правильно, но все транзакции по умолчанию равны 1 доллару. У нас есть этот набор для возврата к 1 доллару, если нет стоимости транзакции, однако мы хотим получить стоимость транзакции из Woocommerce. Я искал повсюду и не могу найти правильный код для тега события, чтобы получить это значение из Woocommerce.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Обновлено
Попробуйте следующий (где вам нужно будет установить правильный 'send_to', заменив 'AW-######/######'):
add_action( 'woocommerce_thankyou', 'conversion_tracking_thank_you_page', 95, 1 );
function conversion_tracking_thank_you_page( $order_id ) {
if ( ! $order_id )
return;
// Get the WC_Order instance Object
$order = wc_get_order( $order_id );
?>
<!-- Google Tag: Transaction conversion event -->
<script>
gtag('event', 'conversion', {
'send_to' : 'AW-######/######',
'value' : <?php echo $order->get_total(); ?>,
'currency' : '<?php echo $order->get_currency(); ?>',
'transaction_id': <?php echo $order->get_transaction_id() ? $order->get_transaction_id() : $order_id; ?>
});
</script>
<?php
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Протестированный вывод… На этот раз должно работать.
Подобные ответы:
@IVCatalina В коде отсутствовал ' ... попробуйте еще раз ... Теперь я не могу гарантировать ничего другого, так как это зависит от других интегрированных связанных JS ... Здесь я просто заполняю код вашего вопроса необходимыми данными текущего заказа ... Вы можете проверить это в сгенерированном исходном коде страницы, поэтому отвечая только на ваш вопрос.
Без проблем; Я ценю это! Я не уверен, где пропал ', но я снова скопировал ваш код, и на странице благодарности все еще отсутствует номер заказа. Он отображается без этого кода, но этот код, похоже, удаляет эту информацию.
Если это помогает, моя отладка выдает ошибку: SyntaxError: '' строковый литерал содержит неэкранированный разрыв строки для строки transaction_id; который, я думаю, вы изменили, чтобы добавить '. Хотя, похоже, это не нравится ...
@IVCatalina О да, извините, я сделал еще одну ошибку и обновил код ... Теперь он должен работать, как ожидалось.
Спасибо!! Я тестирую и отмечу ваш ответ как правильный, надеюсь, в ближайшее время.
Спасибо! Я тестирую это, чтобы увидеть, работает ли оно. Как ни странно, на странице «Спасибо» отсутствует информация, которая показывает их порядковый номер и т. д. Каким образом мы можем провести это шоу и позволить этому коду делать свое дело?