Clo*_*ign 6 javascript facebook
我们正在尝试使用Facebook的广告跟踪像素来跟踪广告.我们查看了Facebook的文档,这让我无处可去.
我需要知道如何在一个页面上触发多个Facebook像素,因为我们有多个广告正在运行.
我拿了它每个像素给我的代码并将其放在页面上,然后我们有一个Cart页面,我在其中触发或添加'Purchase'事件.但由于我有3次剧本,它似乎开了3次.我希望每个像素点燃一次.
这是我到目前为止:
<!-- Facebook Pixel Code - Ad 1-->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', 'xxxxxxxxxxxxx12');
fbq('track', "PageView");
// Purchase
// Track purchases or checkout flow completions (ex. landing on "Thank You" or confirmation page)
fbq('track', 'Purchase', {value: '1.00', currency: 'USD'});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=xxxxxxxxxxxxx12&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
<!-- Facebook Pixel Code - Ad 2-->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', 'xxxxxxxxxxxxx34');
fbq('track', "PageView");
// Purchase
// Track purchases or checkout flow completions (ex. landing on "Thank You" or confirmation page)
fbq('track', 'Purchase', {value: '1.00', currency: 'USD'});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=xxxxxxxxxxxxx34&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
<!-- Facebook Pixel Code - Ad 2-->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', 'xxxxxxxxxxxxx56');
fbq('track', "PageView");
// Purchase
// Track purchases or checkout flow completions (ex. landing on "Thank You" or confirmation page)
fbq('track', 'Purchase', {value: '1.00', currency: 'USD'});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=xxxxxxxxxxxxx56&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
Run Code Online (Sandbox Code Playgroud)
这是这样做的吗?或者我是否需要做一些不同的事情,以便购买事件不会被解雇4次.我正在使用Chrome的FB Pixel Helper插件来确保所有像素都被触发,但我收到的错误是他们多次触发.
我会这样做吗?
<!-- Facebook Pixel Code - ALL ADS-->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', 'xxxxxxxxxxxxx12');
fbq('init', 'xxxxxxxxxxxxx34');
fbq('init', 'xxxxxxxxxxxxx56');
fbq('track', "PageView");
// Purchase
// Track purchases or checkout flow completions (ex. landing on "Thank You" or confirmation page)
fbq('track', 'Purchase', {value: '1.00', currency: 'USD'});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=xxxxxxxxxxxxx12&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
Run Code Online (Sandbox Code Playgroud)
小智 15
我遇到了同样的问题,我无法在任何地方找到解决方案.我挖掘了代码并找到了一个名为"addPixelId"的方法.在我的测试中,你可以在"init"之后使用它,这将添加第二个ID.您跟踪的任何事件现在都会发送到这两个ID.例如:
fbq('init', 'xxxxxxxxxxxxx12');
fbq('addPixelId', 'xxxxxxxxxxxxx34');
fbq('addPixelId', 'xxxxxxxxxxxxx56');
fbq('track', 'PageView');
Run Code Online (Sandbox Code Playgroud)
唯一需要注意的是,您跟踪的所有事件都将跟踪您定义的所有ID.它对我来说很棒,没有任何问题.
小智 5
只需在这个代码中输入一个JS文件:// Facebook Multi-Pixel
(function() {
var fbq = (function() {
function fbq()
{
if(arguments.length > 0) {
var action, pixel_id, type_track, content_obj;
if( typeof arguments[0] == "string") action = arguments[0];
if( typeof arguments[1] == "string") pixel_id = arguments[1];
if( typeof arguments[2] == "string") type_track = arguments[2];
if( typeof arguments[3] == "object") content_obj = arguments[3];
var params = [];
if(typeof action == "string" && action.replace(/\s+/gi, "") != "" &&
typeof pixel_id == "string" && pixel_id.replace(/\s+/gi, "") != "" &&
typeof type_track == "string" && type_track.replace(/\s+/gi, "")) {
params.push("id=" + encodeURIComponent(pixel_id));
switch(type_track) {
case "PageView":
case "ViewContent":
case "Search":
case "AddToCart":
case "InitiateCheckout":
case "AddPaymentInfo":
case "Lead":
case "CompleteRegistration":
case "Purchase":
case "AddToWishlist":
params.push("ev=" + encodeURIComponent(type_track));
break;
default:
return;
}
params.push("dl=" + encodeURIComponent(document.location.href));
params.push("rl=" + encodeURIComponent(document.referrer));
params.push("if=false");
params.push("ts=" + new Date().getTime());
if(typeof content_obj == "object") {
for(var u in content_obj) {
if(typeof content_obj[u] == "object" && content_obj[u] instanceof Array) {
if(content_obj[u].length > 0) {
for(var y=0; y<content_obj[u].length; y++) { content_obj[u][y] = (content_obj[u][y]+"").replace(/^\s+|\s+$/gi, "").replace(/\s+/gi," ").replace(/,/gi, "§"); }
params.push("cd[" + u + "]=" + encodeURIComponent(content_obj[u].join(",").replace(/^/gi, "[\"").replace(/$/gi, "\"]").replace(/,/gi, "\",\"").replace(/§/gi, "\,")));
}
}
else if(typeof content_obj[u] == "string")
params.push("cd[" + u + "]=" + encodeURIComponent(content_obj[u]));
}
}
params.push("v=" + encodeURIComponent("2.5.0"));
if(typeof window.jQuery == "function") {
var iframe_id = new Date().getTime();
jQuery("body").append("<img height='1' width='1' style='display:none;width:1px;height:1px;' id='fb_" + iframe_id + "' src='https://www.facebook.com/tr/?" + params.join("&") + "' />");
setTimeout(function() { jQuery("#fb_" + iframe_id).remove(); }, 1000);
}
}
}
}
return fbq;
});
window.fbq = new fbq();
})();
Run Code Online (Sandbox Code Playgroud)
用法示例:
fbq('track', "<PIXEL_ID>", "PageView");
fbq('track", "<PIXEL_ID>", "ViewContent", {
content_name: "name test",
content_category: "category test",
content_ids: ["test"],
content_type: "product",
value: 7.99,
currency: "GBP"
});
Run Code Online (Sandbox Code Playgroud)
等等.
| 归档时间: |
|
| 查看次数: |
12478 次 |
| 最近记录: |