Facebook ihre Pixel aktualisiert hat, genannt einreichen oder Schaltfläche klicken, um Ich habe meine eigene benutzerdefinierte Funktion erstellt, die die Parameter dynamisch zusammensetzt, um sie an Facebook zu senden.
Schritt 1. Auf jeder Seite sicherstellen, you've initialised your pixel in Kopf Element der Seite.
Schritt 2. Fügen Sie diese benutzerdefinierte Funktion hinzu, die ich erstellt habe (es ist ein bisschen ausführlich, da es der erste Entwurf ist, also bin ich sicher, dass es Möglichkeiten gibt, es zu Ihrem Vorteil zu optimieren).
triggerFacebookPixel: function(type, price, product_id, product_name, product_category, num_items) {
//See https://developers.facebook.com/docs/ads-for-websites/pixel-events/v2.8#events for documentation
//type = "ViewContent"|"AddToCart"|"Search"|"AddToWishlist"|"InitiateCheckout"|"AddPaymentInfo"|"Purchase"|"Lead"|"CompleteRegistration"
//product_id = Numeric Product ID. String or Integer accepted for single product events, or an array of integers for multiple products.
//price = Decimal/Float number of individual product's price or total price paid in conversion, or the user's status for 'CompleteRegistration'
//product_name = Optional. String of individual product's name or string of search query
//product_category = Optional. String of product category, hierarchy's accepted. E.g. "Clothing > Shirts > Men's > T-Shirts"
//num_items = Optional. Total number of products.
var data = {
value: typeof(price) == 'string' ? parseFloat(price) : price,
currency: 'USD'
}
switch (type) {
case 'Search':
data.content_ids = product_id;
data.search_string = product_name;
if (product_category !== undefined && product_category != '') {
data.content_category = product_category;
}
break;
case 'Lead':
data.content_name = product_name;
data.content_category = product_category;
break;
case 'CompleteRegistration':
data.status = product_id;
data.content_name = product_name;
break;
default:
//Product Specific Calls
//ViewContent|AddToCart|AddToWishlist|InitiateCheckout|AddPaymentInfo|Purchase
if (num_items == 1) {
data.content_ids = [typeof(product_id) == 'string' ? parseInt(product_id) : product_id];
data.content_category = product_category;
data.content_name = product_name;
} else {
data.content_ids = product_id;
}
//"num_items" is only a parameter used in these two types
if (type == 'InitiateCheckout' || type == 'Purchase') {
data.num_items = num_items
}
//"content_type" is only a parameter used in these three types
if (type == 'Purchase' || type == 'AddToCart' || type == 'ViewContent') {
data.content_type = 'product';
}
break;
}
fbq('track', type, data);
}
Schritt 3. Rufen Sie diese Funktion mit den entsprechenden Parametern auf.
Für Ihr Dankeschön-Popup nach einem Kauf wird das Pixel anders abgefeuert, wenn der Benutzer ein Element im Gegensatz zu mehreren Elementen kauft. Grundsätzlich akzeptiert Facebook Parameter für Produktnamen und -kategorien, wenn es sich nur um ein Produkt handelt, akzeptiert diese Parameter jedoch nicht, wenn es sich um mehrere Produkte handelt.
Für die folgenden Beispiele, hier einige Beispiele für Produktdaten eines Benutzers Kauf 1 Artikel:
- Produktname: "My Super Awesome T-Shirt"
- Produkt ID: 182
- Produktkategorie: "Kleidung> Hemden> T-Shirts"
- Gesamtbetrag Benutzer bezahlt (einschließlich Versandkosten/Handhabung & Steuer): $ 10.84
Und hier ist die Funktion, die Sie auf der Bestätigung rufen würden:
triggerFacebookPixel('Purchase', 10.84, 182, 'My Super Awesome T-Shirt', 'Clothing > Shirts > T-Shirts', 1);
Wenn ein Benutzer Käufe mehr Artikel, das Pixel anders behandelt, ohne die Produktnamen und Kategorien und nur das Senden ihre IDs. Also lassen Sie uns so tun, als unsere Benutzer diese beiden Artikel gekauft:
- Produkt-ID: 182 und 164 (das Hemd und etwas anderes)
- Gesamtbetrag Benutzer bezahlt (inklusive Versand/Handhabung & Steuern): $ 24,75
Dies ist, wie Sie die Funktion verwenden würde:
triggerFacebookPixel('Purchase', 24.75, [182, 164], '', '', 2);
für andere standard events as defined by Facebook in Bezug auf Produkte, können Sie diese gleiche Funktion für „Vie verwenden können wContent "," AddToCart "," AddToWishlist "," InitiateCheckout "und" AddPaymentInfo ". Ändern Sie einfach "Kauf" in eines dieser Schlüsselwörter in Ihrem Anruf.
Die anderen Ereignisse beziehen sich nicht unbedingt auf Produkte: "Lead", "Search" und "Complete Registration". Sie können diese Funktion immer noch für solche Schlüsselwörter verwenden.
Beispiel: Benutzer gesucht für „Blauhemden“:
triggerFacebookPixel('Search', 0, [], 'blue shirts');
Wenn Sie eine Produktkategorie in der Benutzer Suchfunktion übergeben wollen, können Sie das als String am Ende passieren. Ich kann mir kein Anwendungsszenario vorstellen, in dem Sie wissen würden, nach welcher Kategorie der Benutzer sucht. Es sei denn, Sie haben dies verwendet, wenn das Produkt in den Suchergebnissen angezeigt wird und der Benutzer auf der Suchseite darauf geklickt hat. Das könnte sein, wofür diese Funktion eigentlich ist, aber die Dokumentation ist nicht ganz klar. Wenn dies bei Ihnen der Fall ist, ändern Sie einfach das 0 und das leere Array in die tatsächlichen Werte (Preis bzw. Produkt-ID) des Produkts, auf das von der Suchergebnisseite geklickt wurde, und fügen Sie seine Kategorie als letzte Zeichenfolge hinzu Parameter nach dem Suchstring.
Beispiel: Benutzer vorgelegt ein Formular, das sie zu Ihrem Newsletter angemeldet:
triggerFacebookPixel('CompleteRegistration', 0, 'Signed Up', 'Newsletter');
Facebook-Dokumentation besagt, dass „CompleteRegistration“ verwendet werden soll, wenn ein Registrierungsformular ausgefüllt wird, beispielsweise vollständiges Abonnement/Anmeldung für einen Dienst Die Zeichenfolge "Signed Up" ist der Parameter "status" und die Zeichenfolge "Newsletter" ist der Parameter "content_name".
Beispiel: Benutzer reichte ein Formular ein, das sie für eine kostenlose 30-Tage-Testversion von einigen angebotenen Diensten unterzeichnete (sie sind jetzt führen), wo der Name des Dienstes lautet "Kostenlose 30-Tage-Testversion Service“und es ist in der Unterkategorie‚Testversionen‘unter der Rubrik‚My Service‘:
triggerFacebookPixel('Lead', 0, 'Free 30-Day Trial Service', 'My Services > Free Trials');
Dokumentation Facebook heißt es, dass‚Lead‘ist, wenn ein Zeichen nach oben abgeschlossen ist, zB Klicken Sie auf Preise, melden Sie sich für den Test an. Ich nahm an, dass der Name des Dienstes der Parameter "content_name" ist und die Kategorie des Dienstes der Parameter "content_category" ist.
Danke! Ist es richtig, anzunehmen, dass dieser Teil des ursprünglichen Pixels Entfernen ‚‘ bedeutet, dass, obwohl die Facebook Pixel Javascript jedem Seitenaufruf geladen wird, wenn der
Abschnitt geladen ist, wird es nicht wirklich sein gefeuert, bis der Onclick-Code durch einen Klick aktiviert wird? – dataprointhemakingDas ist richtig. Ich habe '
Danke, dass du alles klar gemacht hast! – dataprointhemaking