# Meta pixel 追蹤碼埋設 ###### tags: `埋追蹤碼`、`GTM`、`Meta Pixel` 建議搭配下面兩份文件一起理解 meta pixel 如何運作 1. [Meta for Developers - 該寫的都在這裡了,可以換語言的 Docs](https://developers.facebook.com/docs/meta-pixel) 2. [Meta 企業商家使用說明](https://www.facebook.com/business/help/742478679120153?id=1205376682832142) ## 基本代碼 通常會在 GTM 容器內新增全站頁面瀏覽,讓網頁載入後就先觸發一次基本代碼,長這樣: ```htmlmixed= <!-- 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', '{your-pixel-id-goes-here}'); fbq('track', 'PageView'); </script> <noscript> <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id={your-pixel-id-goes-here}&ev=PageView&noscript=1"/> </noscript> <!-- End Facebook Pixel Code --> ``` ## 事件 安裝好基本代碼之後,可以針對特定行為埋設事件, 事件可以分為標準事件與自訂事件: - [17 種標準事件](https://developers.facebook.com/docs/meta-pixel/reference#standard-events) >> 使用 `fbq('track','標準事件名稱')` - [自訂事件](https://developers.facebook.com/docs/meta-pixel/implementation/conversion-tracking#custom-events) >> 使用 `fbq('trackCustom', '自訂事件名稱')` 若埋設的是自訂事件,一定要使用 `fbq('trackCustom', '自訂事件名稱')`,而非 `fbq('track', '自訂事件名稱')`,不然事件觸發時會跳出 warning 如下: ![](https://i.imgur.com/bBHPf3f.png) 甚至可能導致後台無法正常辨別事件、收數異常。 ## 誤區 如果埋設的代碼一直沒有正常收數 or 後台一直報錯,可以檢查下面幾個地方: ### 1. 無帶入標準代碼必要的參數 [設定 Meta 像素標準事件的值和幣別](https://www.facebook.com/business/help/392174274295227?id=1205376682832142) 標準事件僅有 `Purchase` 在使用時須填入 value & currency 兩項必填欄位,其中 value 的類型可以是整數或小數,在取值時要記得考慮型別與標點符號、空格的去除。 ![關於 Purchase 事件的詳述](https://i.imgur.com/iEAxjs3.png) 實際使用的代碼應該會長這樣: ```javascript= fbq('trackSingle', '指定的 pixel id', 'Purchase',{ value: 30.00, //這裡可能是動態寫入的金額 currency: 'TWD' //幣值為新台幣 }) ``` ### 2. 未將使用的 pixel id 獨立區分 通常一個網站可能同時使用多個 pixel id,這時候需要特別將自己使用的 pixel id 寫入我們欲加入的事件代碼中,才不會讓其他 pixel id 收到我們的事件收數。 - [如何確保多個 pixel id 的事件不會互相影響](https://developers.facebook.com/docs/meta-pixel/guides/track-multiple-events) - 標準事件:使用 ` fbq('trackSingle', '指定的 pixel id', '標準事件')` - 自訂事件:使用 `fbq('trackSingleCustom', '指定的 pixel id', '自訂事件')` 如果其他廠商埋設的 GTM 代碼未將其使用的 pixel id 獨立出來,我們的 pixel id 也會收到事件收數ㄛ ### 3. 未啟用自訂轉換 除了在網站埋入自訂事件代碼,也需要在 pixel 後台建立自訂轉換、選取使用的自訂事件,才能看到正確的報表ㄛ。 - [使用自訂轉換篩選事件](https://www.facebook.com/business/help/462806641140703?id=1205376682832142)