Script de seguimiento de conversión de WooCommerce para dos píxeles

Quiero promocionar mis productos por algunas redes de afiliados.

Lo único que debe hacer es ir al archivo function.php y agregar este script con el píxel. Con este script, el seguimiento del valor de la cantidad funciona bien. Este guion funcionasolo para una red y si eres el único vendedor.

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>';
}

Mi problema: Tengo varios proveedores que utilizan mi plataforma para la entrega del producto / procesamiento de compras.

Necesito saber cómo puedo modificar el archivo de función para agregar un segundo script de trabajo para un segundo píxel si se ha seleccionado y comprado un producto específico.

Mis habilidades informáticas en woocommerce son limitadas, por lo que me gustaría entender cómo modificar el script sin dañar el seguimiento (general).

Si alguien compra los Productos "normales", debería disparar el primer píxel anterior.Si alguien compra un producto específico con el ID de producto 2004, entonces un segundo píxel diferente debe disparar e ignorar el primer píxel.

¿Necesito agregar una segunda función o modificar la primera?

Gracias

Preguntas adicionales (Actualización 16.05.2017)

En el futuro probablemente tendré que instalar un tercer píxel. ¿Cómo sería la estructura?

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>';
    }
}

Es la misma estructura también válida paraID de variación?

En el software afiliado dentro de la oferta, un"Píxel objetivo" y se puede usar el "píxel final".

Algunos productos son "productos de prueba" y tienen un valor de € 0.00. Si se dispara el píxel principal, el afiliado no recibe ninguna compensación, incluso si el cliente luego compra el producto.

En este caso, una especie depíxel objetivo tendría que estar instalado para elID de variación de un producto en particular. Si el cliente decide después del mes de prueba para la compra, entonces debe dispararse el "píxel correcto".

Respuestas a la pregunta(1)

Su respuesta a la pregunta