两个像素的WooCommerce转换跟踪脚本

时间:2017-05-15 20:36:14

标签: woocommerce tracking hook-woocommerce affiliate

我想通过一些联盟网络宣传我的产品。

只做你要做的事情,就是进入function.php文件并添加带有像素的脚本。使用此脚本,跟踪金额值可以正常工作。如果您是唯一的供应商,此脚本仅适用于

add_action( 'woocommerce_thankyou', 'my_custom_tracking' );
function my_custom_tracking( $order_id ) {
  $order = new WC_Order( $order_id );
  $total = $order->get_subtotal();
  $id = str_replace('#', '', $order->get_order_number());
  echo '<iframe src="https://network.com/track?offer_id=666&amount=' . $total . '&track_id=' . $id . '" scrolling="no" frameborder="0" width="1" height="1"></iframe>';
}

我的问题:我有多个供应商正在使用我的平台进行产品交付/购买处理。

我需要知道如何修改功能文件,以便在选择和购买特定产品时为第二个像素添加工作的第二个脚本。

我的woocommerce技能有限,所以我想了解如何修改脚本而不会损害(一般)跟踪。

  1. 如果有人购买&#34;正常&#34;产品比上面的第一个像素要点火。
  2. 如果某人使用产品ID 2004购买特定产品,则需要触发第二个不同的像素并忽略第一个像素。
  3. 我是否需要添加第二个功能或修改第一个功能?

    谢谢

    其他问题(更新16.05.2017)

    将来我可能需要安装第三个像素。结构如何?

    add_action('woocommerce_thankyou', 'wh_custom_tracking');
    
    function wh_custom_tracking($order_id)
    {
        $product_ids = [2004, 2000]; //<-- list of product_id(s) for which 2nd pixels should fire
        $checkSecond = FALSE;
        $product_ids = [2003, 2001]; //<-- list of product_id(s) for which 3nd pixels should fire
     $checkThird = FALSE;
        $order = wc_get_order($order_id);
        $total = $order->get_subtotal();
        $id = str_replace('#', '', $order->get_order_number());
    
        $items = $order->get_items();
    
        foreach ($items as $item)
        {
            $item_id = $item['product_id']; // <= Here is your product ID
            if (in_array($item_id, $product_ids))
    
            {
                $checkSecond = TRUE;
                break;
            }
    
     {
                $checkThird = TRUE;
                break;
            }
        }
    
        if ($checkSecond)
        {
            //add your 2nd pixel here 2nd pixel
        }
        else
    
        if ($checkThird)
        {
            //add your 3nd pixel here 2nd pixel
        }
        else
        {
            echo '<iframe src="https://network.com/track?offer_id=666&amount=' . $total . '&track_id=' . $id . '" scrolling="no" frameborder="0" width="1" height="1"></iframe>';
        }
    }
    

    相同的结构是否也适用于变体ID

    在优惠中的联盟软件中,&#34;目标像素&#34; 和&#34;最终像素&#34;可以使用。

    有些产品是&#34;测试产品&#34;价值€0.00。如果主像素点火,那么即使客户购买了产品,联盟也不会获得任何补偿。

    在这种情况下,必须为特定产品的变体ID 安装一种目标像素。如果客户在测试月份之后决定购买,那么&#34;右像素&#34;应该开火。

1 个答案:

答案 0 :(得分:0)

您可以按订单ID获取产品ID列表,然后您可以应用您的调节并触发不同的像素。

以下是一个示例代码,可以解决您的查询:

add_action('woocommerce_thankyou', 'wh_custom_tracking');

function wh_custom_tracking($order_id)
{
    $product_ids = [2004, 2000]; //<-- list of product_id(s) for which 2nd pixels should fire
    $checkSecond = FALSE;
    $order = wc_get_order($order_id);
    $total = $order->get_subtotal();
    $id = str_replace('#', '', $order->get_order_number());

    $items = $order->get_items();

    foreach ($items as $item)
    {
        $item_id = $item['product_id']; // <= Here is your product ID
        if (in_array($item_id, $product_ids))
        {
            $checkSecond = TRUE;
            break;
        }
    }

    if ($checkSecond)
    {
        //add your 2nd pixel here 2nd pixel
    }
    else
    {
        echo '<iframe src="https://network.com/track?offer_id=666&amount=' . $total . '&track_id=' . $id . '" scrolling="no" frameborder="0" width="1" height="1"></iframe>';
    }
}

代码进入您的活动子主题(或主题)的functions.php文件。或者也可以在任何插件php文件中。

相关问题:How to insert Google Merchant Review JS code in WooCommerce Order Complete page

希望这有帮助!