2025年11月8日 星期六

[研究]Facebook Pixel Code(臉書像素追蹤碼)與 _fbp (Cookie) 是甚麼?

[研究]Facebook Pixel Code(臉書像素追蹤碼)與 _fbp (Cookie) 是甚麼?

2025-11-08

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19

瀏覽器會出現有稱為 _fbp 的 Cookies,ASP.NET WebForm 的 Source Code 是搜尋不到 fbp 的,它是一段Facebook Pixel Code(臉書像素追蹤碼)程式碼產生的。

********************************************************************************

ASP.NET WebForm 網站,請問下面程式碼用途 ? 參考來源 ?

    <!-- 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', '(略)');
        fbq('track', 'PageView');
    </script>
    <noscript>
        <img height="1" width="1" style="display: none"
            src="https://www.facebook.com/tr?id=(略)&ev=PageView&noscript=1" />
    </noscript>

    <!-- End Facebook Pixel Code -->

ChatGPT

這段程式碼是 Facebook Pixel(臉書像素追蹤碼),主要用於在你的 ASP.NET WebForm 網站上追蹤使用者行為、轉換事件(例如:註冊、購買、點擊廣告後造訪網站)等,以便在 Facebook 廣告管理平台中分析與再行銷(Retargeting)。

🔍 功能說明:

1.載入 Facebook Pixel SDK

!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');

  • 這是一個 自動載入 fbevents.js 的初始化函式。
  • fbevents.js 是 Facebook 官方提供的 JavaScript SDK,用來執行事件追蹤。
  • 這段程式會建立全域物件 fbq(Facebook Queue),讓後續的 fbq('init', ...) 與 fbq('track', ...) 指令可以排入佇列,直到 SDK 載入完成後再執行。

2.初始化像素 (Pixel ID)

fbq('init', '(略)');   

  • 用來啟用你網站專屬的 Pixel ID。
  • 通常是 15~17 位數字,Facebook 用來識別是哪個帳戶的追蹤代碼。

3.追蹤頁面瀏覽事件

fbq('track', 'PageView');

  • 表示當使用者載入該頁面時,自動送出一個 “PageView” 事件給 Facebook。
  • 這是最基本的追蹤事件,用來記錄誰造訪了哪個頁面。

4.noscript 標籤(無 JavaScript 回退機制)

<noscript>
    <img height="1" width="1" style="display:none"
         src="https://www.facebook.com/tr?id=(略)&ev=PageView&noscript=1" />
</noscript>

  • 若使用者停用 JavaScript,仍會以隱藏的 <img> 方式送出同樣的 “PageView” 事件。
  • 這可確保即使 JS 被封鎖,也能維持最低限度的追蹤。

📚 官方參考來源:

Facebook for Developers 官方文件:
Meta Pixel (Facebook Pixel) Setup Guide

官方代碼樣本:

⚙️ 在 ASP.NET WebForm 的使用位置建議:

可放在 Master Page (Site.Master) 的 <head> 或 <form runat="server"> 結束前,例如:
<asp:Content ID="HeadContent" ContentPlaceHolderID="HeadContent" runat="server">
    <!-- Facebook Pixel Code -->
    ...上述程式碼...
    <!-- End Facebook Pixel Code -->
</asp:Content>


(完)

相關

沒有留言:

張貼留言