Facebook像素与单页应用程序(angularjs)

Facebook Pixel with single page app (angularjs)

本文关键字:angularjs 应用程序 单页 像素 Facebook      更新时间:2023-09-26

我用AngularJS构建了单页应用程序。我想跟踪页面使用Facebook Pixel查看此web应用程序。但在分析板上,Facebook Pixel忽略了"#"之后的url部分。在此图像中,每个URL都显示在http://localhost/.

图像

我可以推送自定义页面查看(删除#)来修复此问题吗?

在我的情况下,它可以使用以下配置:

  1. 在index.html中添加带有跟踪ID的fb像素代码

<!-- Facebook Pixel Code -->
		<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','https://connect.facebook.net/en_US/fbevents.js');
		fbq('init', '<<PIXEL ID>>'); // Insert your pixel ID here.
		</script>
		<noscript><img height="1" width="1" style="display:none"
		src="https://www.facebook.com/tr?id=133095247279894&ev=PageView&noscript=1"
		/></noscript>
		<!-- DO NOT MODIFY -->
		<!-- End Facebook Pixel Code -->

  1. 在状态控制器上注入$window

    // Registration
    angular.module('app.module')
        .controller('LeadsController', ['$scope', '$state', '$window']);
    $window.fbq('track', 'InitiateCheckout');   //or Purchase/Leads/CompleteRegistration event
    

这样做是因为基本上fbq已经绑定到窗口对象上。希望这能有所帮助!