# 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 如下:

甚至可能導致後台無法正常辨別事件、收數異常。
## 誤區
如果埋設的代碼一直沒有正常收數 or 後台一直報錯,可以檢查下面幾個地方:
### 1. 無帶入標準代碼必要的參數
[設定 Meta 像素標準事件的值和幣別](https://www.facebook.com/business/help/392174274295227?id=1205376682832142)
標準事件僅有 `Purchase` 在使用時須填入 value & currency 兩項必填欄位,其中 value 的類型可以是整數或小數,在取值時要記得考慮型別與標點符號、空格的去除。

實際使用的代碼應該會長這樣:
```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)