raha-ab در خروجی کار ، قیمت ها درسته ولی صفر خورده (البته الان من از کد تخفیف استفاده میکنم که 100درصد هستش ، شاید برای اون باشه)
سلام وقت بخیر
اون قیمت نهایی رو میزنه و اگه تخفیف صد درصدی خورده باشه طبیعتا قیمت رو هم صفر میزنه. قیمت نهایی که کاربر پرداخت کرده رو اونجا میزنه.
raha-ab عدد REVENUE باید تقسیم بر 1000 بشه که صحیح نمایش بده ولی طبق روال خودش نشون داده میشه
کدش رو می تونید تغییر بدید و محاسباتی کنید.
اول باید یک متغیر اضافه کنید و جمع رو بر هزار تقسیم کنه:
$final_order_total = $order_total / 1000;
بعد توی کدهای مارکآپ متغیر جدید رو جایگزین کنید. کد آخری که دادید رو با این جایگزین کنید. تغییراتی که گفتم داخلش اعمال شده:
if (!defined('ABSPATH')) {
exit;
}
if( !function_exists( 'wc_gtm_data_layer_push_purchase' ) ) {
function wc_gtm_data_layer_push_purchase( $order_id ) {
if ( !get_post_meta( $order_id, "_order_data_layer_sent", true ) == 1 ) {
$order = wc_get_order( $order_id );
$order_number = $order->get_order_number();
$order_total = number_format( $order->get_total(), 2, ".", "");
$final_order_total = $order_total / 1000;
$order_tax_total = number_format( $order->get_total_tax(), 2, ".", "");
$order_shipping_total = number_format( $order->get_total_shipping(), 2, ".", "");
$order_coupon = implode( "-", $order->get_used_coupons() );
$order_affiliation = "WooCommerce";
$line_items = $order->get_items();
$items = array();
if ( $line_items ) {
foreach( $line_items as $item ) {
$product = $order->get_product_from_item( $item );
$item_name = $item['name'];
$item_id = $item['product_id'];
$item_price = number_format( $order->get_line_total( $item ), 2, ".", "" );
$item_brand = "";
$item_category = strip_tags( wc_get_product_category_list( $item_id ) );
$variant_name = ($item['variation_id']) ? wc_get_product($item['variation_id']) : '';
$item_variant = ($variant_name) ? implode( "-", $variant_name->get_variation_attributes() ) : '';
$item_quantity = $item['qty'];
$items[] = array (
"name" => $item_name,
"id" => $item_id,
"price" => $item_price,
"brand" => $item_brand,
"category" => $item_category,
"variant" => $item_variant,
"quantity" => $item_quantity
);
}
}
?>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push(
{
"event":"purchase",
"ecommerce": {
"purchase": {
"actionField": {
"id" : "<?= $order_number; ?>",
"affiliation" : "<?= $order_affiliation; ?>",
"revenue" : <?= $final_order_total; ?>,
"tax" : <?= $order_tax_total; ?>,
"shipping" : <?= $order_shipping_total; ?>,
"coupon" : "<?= $order_coupon; ?>"
},
"products": <?= json_encode( $items ); ?>
}
}
}
);
</script>
<?php
update_post_meta( $order_id, "_order_data_layer_sent", 1 );
}
}
add_action( 'woocommerce_thankyou', 'wc_gtm_data_layer_push_purchase', 10, 1 );
}
raha-ab اگر بخش مالیات یعنی TAX حذف بشه چه مشکلی پیش میاد؟
ممکنه خطا بگیرید. باشه بهتره