@Levelse

Получить id для Google Tag Manager из Woocommerce?

Добрый день.
Появилась необходимость выполнять скрипт, который будет отправлять данные о совершенной покупке в CRM связанную с Google Tag Manager, сам скрипт выглядит так:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
 'ecommerce': {
   'currencyCode': 'USD',
   'purchase': {
     'actionField': {
       'id': 'TransactionID',   
       'revenue': 120, 
     },
     'products': [{  
       'name': 'Product 1',
       'id': 'ID1',
       'price': '23.5',
       'sku': '6517',
       'quantity': 2
},{
       'name': 'Product 2',
       'id': 'ID3',
       'price': '23.5',
       'sku': '2117',
       'quantity': 1
     }]
   }
 },
 'event': 'purchaseEEC',
});
</script>


Собственно вопрос в том, как получить нужные данные из Woocommerce? Пробовал сделать из скрипта шорткод на примере цены, и в нем указывать например
add_shortcode('twit', 'gb_twit');

function gb_twitro() {
	$product_id = get_the_ID();
	$product = wc_get_product( $product_id );
return "
 <script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
 'ecommerce': {
   'currencyCode': 'USD',
   'purchase': {
     'actionField': {
       'id': 'TransactionID',   
       'revenue': 120, 
     },
     'products': [{  
       'name': 'Product 1',
       'id': 'ID1',
       'price': '". $product->get_sale_price(); ."',
       'sku': '6517',
       'quantity': 2
},{
       'name': 'Product 2',
       'id': 'ID3',
       'price': '23.5',
       'sku': '2117',
       'quantity': 1
     }]
   }
 },
 'event': 'purchaseEEC',
});
</script>";
}
add_shortcode('twitro', 'gb_twitro');


но ничего не работает, что не удивительно...
подскажите в какую сторону копать?
Спасибо.
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Думаю нужно внутри хука woocommerce_order_payment_status_changed вызывать wc_get_order для получения деталей заказа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы