2017-05-15 2 views
0

Je veux promouvoir mes produits par certains réseaux d'affiliation.WooCommerce Conversion Tracking Script pour deux Pixel

Ne faites que ce que vous avez à faire, c'est d'aller dans le fichier function.php et d'ajouter ce script avec le pixel. Avec ce script, le suivi de la valeur du montant fonctionne correctement. Ce script fonctionne uniquement pour un réseau et si vous êtes le seul fournisseur.

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

Mon problème: Je dispose de plusieurs fournisseurs qui utilisent mon Plattform pour le traitement de la livraison des produits/achat.

J'ai besoin de savoir comment je peux modifier le fichier de fonction afin d'ajouter un deuxième script de travail pour un deuxième pixel si un produit spécifique a été sélectionné et acheté.

Mes compétences en woocommerce sont limitées, donc je voudrais comprendre comment modifier le script sans nuire au suivi (général).

  1. Si quelqu'un achète les produits "normaux" que le 1er pixel ci-dessus doit déclencher.
  2. Si quelqu'un achète un produit spécifique avec l'ID de produit 2004 - qu'un deuxième pixel différent doit déclencher et ignorer le premier pixel.

Dois-je ajouter une deuxième fonction ou modifier la première?

Merci

Des questions supplémentaires (mise à jour) 16.05.2017

Dans le futur, je vais probablement installer un troisième pixel. Comment serait la structure?

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

est la même structure également valable pour ID de variation?

Dans le logiciel d'affiliation de l'offre, un "pixel cible" et le "pixel final" peuvent être utilisés.

Certains produits sont des "produits tests" et ont une valeur de € 0.00. Si le pixel principal se déclenche, l'affilié ne reçoit aucune compensation, même si le client achète ensuite le produit.

Dans ce cas, une sorte de pixel cible devrait être installé pour l'ID de variation d'un produit particulier. Si le client décide après le mois d'essai pour l'achat, alors le "bon pixel" devrait tirer.

+0

qu'est-ce que 'Product_Nr. 2004' est-ce un attribut de produit ou quoi? –

+0

Merci pour votre réponse. L'ID de produit 2004 est juste l'ID de produit dans WooCommerce. Je vais mettre à jour ceci dans mon message. – reich

Répondre

0

Vous pouvez obtenir la liste des ID de produit (s) par ID de commande, puis vous pouvez appliquer votre conditionnement et déclencher un pixel différent.

Voici un exemple de code qui devrait résoudre votre requête:

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

Code va dans le fichier functions.php de votre thème enfant actif (ou le thème). Ou encore dans tous les fichiers php plugin.

Question connexe: How to insert Google Merchant Review JS code in WooCommerce Order Complete page

Hope this helps!

+0

Incroyable! Cela fonctionne, merci beaucoup! – reich

+0

J'ai ajouté plus de questions ci-dessus. – reich