Skip to content

Đo chuyển đổi cho quảng cáo Facebook ​

Khi chạy quảng cáo Facebook, bạn muốn Meta biết ai đã đăng ký học sau khi bấm quảng cáo để thuật toán tìm thêm người giống vậy. Hệ thống báo sự kiện ghi danh khoá học về Meta bằng hai đường song song:

ĐườngChạy ở đâuƯu điểmHạn chế
Pixel qua Google Tag ManagerTrình duyệt của học viên, ngay lúc ghi danhTức thời, phủ cả người đã có tài khoản từ trướcBị trình chặn quảng cáo và iOS chặn một phần
Conversions APIMáy chủ, mỗi ngày một lầnKhông bị trình duyệt chặn; gửi kèm thông tin đối sánh (email, số điện thoại đã mã hoá, IP, trình duyệt)Chỉ phủ lượt có mã click Facebook (xem Ai được gửi); gửi trễ tối đa khoảng một ngày

Hai đường gửi cùng một mã sự kiện cho mỗi lượt ghi danh, nên Meta tự gộp làm một, không đếm đôi. Bạn có thể chỉ làm Phần 1 (Pixel), nhưng làm cả hai thì số liệu đầy đủ hơn.

Chạy cả quảng cáo Google?

Cùng khối cấu hình này có phần Google Ads — xem Đẩy chuyển đổi về Google Ads.

Link quảng cáo vẫn nên gắn UTM

UTM (?utm_source=facebook&utm_campaign=...) phục vụ báo cáo trong hệ thống, xem Link theo dõi nguồn (UTM). Còn Meta ghép chuyển đổi với quảng cáo bằng mã fbclid do Facebook tự gắn vào link khi có người bấm, bạn không cần làm gì thêm.

Chuẩn bị ​

  • Website đã cài Google Tag Manager (dán mã GTM vào ô Mã header ở Cài đặt > Chung > Thương hiệu & trang chủ, mục Mã chèn thêm (header/footer)), và trong GTM đã có thẻ Pixel cơ bản (thẻ gọi fbq('init', '<Pixel ID>')).
  • Với Phần 2: nhờ bộ phận kỹ thuật bật module Attribution và module Chuyển đổi quảng cáo cho trung tâm, đồng thời bật lịch gửi hằng ngày trên máy chủ.
  • Tài khoản của bạn cần quyền cấu hình chuyển đổi quảng cáo (configure_ads_conversions). Vai trò admin và marketer có sẵn quyền này.

Phần 1: Pixel qua Google Tag Manager ​

Mỗi khi một người tự ghi danh thành công trên website (khoá miễn phí, học thử, nhập mã ghi danh, hoặc đơn 0 đồng nhờ mã giảm giá 100%), trang web đẩy sự kiện sau vào dataLayer:

js
{
  event: 'course_enrolled',
  event_id: 'enrollment:123',   // mã của lượt ghi danh, dùng để Meta gộp với Conversions API
  course_id: '46',
  course_name: 'Lập trình Python cơ bản',
  enroll_method: 'free'         // free, trial, code, payment
}

Sự kiện được đẩy đúng một lần cho mỗi lượt ghi danh. Tải lại trang không đẩy lại.

Bạn chỉ cần dạy GTM gọi Pixel khi thấy sự kiện này:

  1. Tạo biến. Trong GTM, vào Biến > Biến do người dùng xác định > Mới, chọn loại Biến lớp dữ liệu (Data Layer Variable). Tạo hai biến:

    • Tên course_id, Tên biến lớp dữ liệu là course_id.
    • Tên event_id, Tên biến lớp dữ liệu là event_id.
  2. Tạo trình kích hoạt. Vào Trình kích hoạt > Mới, chọn Sự kiện tùy chỉnh (Custom Event), Tên sự kiện là course_enrolled.

  3. Tạo thẻ. Vào Thẻ > Mới, chọn HTML tùy chỉnh, dán đoạn dưới đây và gắn trình kích hoạt ở bước 2:

    html
    <script>
      fbq('track', 'CompleteRegistration',
        {content_ids: [{{course_id}}], value: 0, currency: 'VND'},
        {eventID: {{event_id}}});
    </script>

    Trong phần Cài đặt nâng cao > Trình tự gắn thẻ, chọn cho thẻ này chạy sau thẻ Pixel cơ bản.

  4. Kiểm tra. Bấm Xem trước trong GTM, mở website, ghi danh thử một khoá miễn phí bằng một tài khoản thử. Trong cửa sổ Tag Assistant phải thấy sự kiện course_enrolled và thẻ vừa tạo đã chạy. Trong Meta Events Manager, tab Kiểm tra sự kiện, phải thấy CompleteRegistration.

  5. Bấm Gửi (Publish) để xuất bản vùng chứa GTM.

Giữ đúng tên sự kiện và eventID

Tên phải là CompleteRegistration và phải có {eventID: {{event_id}}}. Sai một trong hai thì Meta không gộp được với bản gửi từ máy chủ ở Phần 2, và mỗi lượt ghi danh bị đếm hai lần.

Những lượt không đẩy sự kiện: quản trị hoặc giảng viên ghi danh hộ học viên (kể cả duyệt đơn xin học), hệ thống tự ghi danh (ví dụ theo lộ trình học), ghi danh vai trò dự thính hoặc giảng viên phụ trách, và ghi danh được xác nhận qua cổng thanh toán online (thông báo đến từ máy chủ của cổng, không từ trình duyệt của khách; đơn hàng đó vẫn được tính là Mua hàng). Conversions API ở Phần 2 dùng đúng cùng quy tắc này, nên hai đường luôn tính cùng một tập lượt ghi danh.

Phần 2: Conversions API ​

Bước 1: Lấy Dataset / Pixel ID ​

  1. Vào Meta Events Manager, chọn Nguồn dữ liệu ở cột trái.
  2. Chọn đúng Pixel đang dùng trong GTM.
  3. Mở tab Cài đặt. Dãy số ở mục ID tập dữ liệu (Dataset ID) là giá trị cần lấy. Pixel ID và Dataset ID là cùng một số.

Đối chiếu số này với số trong fbq('init', '...') của thẻ Pixel cơ bản trong GTM: hai số phải trùng nhau. Khác Pixel thì Meta không gộp được hai đường.

Bước 2: Tạo Access token ​

Tạo token bằng người dùng hệ thống (system user) để token có đủ quyền và không hết hạn:

  1. Vào Business Settings, chọn Người dùng > Người dùng hệ thống.
  2. Chọn Conversions API System User nếu Meta đã tạo sẵn; nếu chưa có, bấm Thêm để tạo người dùng mới với vai trò Admin.
  3. Bấm Gán tài sản, chọn loại Tập dữ liệu (Pixel), tick đúng Pixel ở Bước 1, bật quyền Quản lý rồi lưu.
  4. Bấm Tạo mã mới:
    • Chọn app của doanh nghiệp.
    • Thời hạn: Không bao giờ.
    • Tick quyền ads_management (và business_management nếu có).
    • Sao chép token ngay: Meta chỉ hiện một lần.
Không có app nào để chọn ở bước 4?

Token của người dùng hệ thống bắt buộc gắn với một app.

  1. Vào Meta for Developers, bấm Tạo ứng dụng, chọn loại Doanh nghiệp, gắn vào đúng Business Manager đang giữ Pixel.
  2. Quay lại Business Settings, Tài khoản > Ứng dụng, gán app đó cho người dùng hệ thống ở bước 2.
  3. Làm lại bước 4.

Kiểm tra token trước khi dùng: dán token vào Access Token Debugger rồi bấm Debug:

  • Mục Scopes phải có ads_management.
  • Mục Granular scopes phải có ads_management kèm Pixel ID ở Bước 1.

Token tạo từ nút trong Events Manager có thể thiếu quyền

Events Manager có nút tạo mã truy cập ngay trong trang cài đặt Pixel. Đã gặp trường hợp token tạo ra chỉ có quyền read_ads_dataset_quality (đọc điểm chất lượng dữ liệu), không đủ cho Conversions API. Nếu Access Token Debugger chỉ hiện quyền này, hãy tạo lại token theo các bước ở trên.

Token cho phép gửi sự kiện vào Pixel của bạn. Chỉ dán nó vào form cấu hình (hệ thống mã hoá trước khi lưu). Không gửi token qua chat, email hay tài liệu. Lỡ lộ thì thu hồi rồi tạo token mới.

Bước 3: Nhập vào hệ thống và kiểm tra ​

  1. Vào Cài đặt > Tích hợp, mở tab Chuyển đổi quảng cáo, khối Meta (Conversions API).
  2. Điền Dataset / Pixel ID và Access token, bật công tắc Bật.
  3. (Nên làm lần đầu) Trong Events Manager, tab Kiểm tra sự kiện, lấy mã kiểm thử dạng TEST12345 và dán vào ô Mã sự kiện kiểm thử.
  4. Bấm Lưu. Nút kiểm tra dùng giá trị đã lưu, nên phải lưu trước.
  5. Bấm Kiểm tra kết nối — Meta (Conversions API) ở đầu khối cấu hình. Kết quả đúng là Meta: kết nối hợp lệ. Nếu có mã kiểm thử, một sự kiện thử xuất hiện trong tab Kiểm tra sự kiện sau vài giây.
  6. Xoá mã sự kiện kiểm thử rồi bấm Lưu. Khi ô này còn giá trị, mọi sự kiện đi vào luồng kiểm thử và không được tính vào tối ưu quảng cáo.

Công tắc Bật ở đây khác với việc bật module: bật module mới chỉ có đường ống, bật công tắc thì dữ liệu mới bắt đầu được gửi sang Meta.

Thông tin đối sánh gửi kèm ​

Meta ghép chuyển đổi với người đã xem hoặc bấm quảng cáo càng tốt khi có càng nhiều thông tin về người đó. Mỗi lượt gửi kèm:

Thông tinDạng gửiPhụ thuộc công tắc bên dưới
Email, số điện thoại, họ, tên, mã người dùngĐã mã hoá một chiều (SHA-256), Meta không đọc ngược đượcKhông
Mã click Facebook (fbclid lúc tạo tài khoản, cookie _fbc lúc ghi danh)Nguyên vănKhông
Địa chỉ IP, trình duyệt (user-agent), cookie _fbp của PixelNguyên văn, theo yêu cầu của MetaCó
Trang khoá học nơi ghi danhNguyên vănKhông

IP, trình duyệt và cookie được ghi lại ngay lúc học viên ghi danh, vì lượt gửi chạy ban đêm khi không còn ai trên trang. Hệ thống tự xoá chúng sau 30 ngày.

Công tắc Gửi kèm IP, user-agent và cookie Pixel nằm trong khối Meta, mặc định bật: Meta coi trình duyệt (user-agent) là thông tin bắt buộc với sự kiện từ website, thiếu nó thì điểm chất lượng đối sánh thấp. Tắt công tắc nếu trung tâm muốn hạn chế dữ liệu cá nhân gửi sang Meta: hệ thống ngừng ghi lại và ngừng gửi IP, trình duyệt, _fbp, kể cả với các lượt đã ghi trước đó. Mã click _fbc vẫn được gửi.

Cập nhật chính sách quyền riêng tư

IP, email và số điện thoại là dữ liệu cá nhân. Trước khi bật Conversions API, chính sách quyền riêng tư trên website của trung tâm nên nêu rõ việc chia sẻ dữ liệu này với Meta cho mục đích quảng cáo.

Sau vài ngày chạy, xem hiệu quả đối sánh ở Events Manager: mở sự kiện CompleteRegistration, mục Điểm chất lượng đối sánh (Event Match Quality) của phương thức Máy chủ.

Theo dõi việc gửi ​

Mỗi ngày lúc 03:30, hệ thống gửi các lượt ghi danh (và đơn hàng đã thanh toán) đủ điều kiện trong 7 ngày gần nhất (xem Ai được gửi). Xem kết quả ở Marketing > Sổ cái đẩy chuyển đổi (/admin/ads-conversion-uploads):

Trạng tháiNghĩaLượt sau
Đã gửiMeta đã nhậnKhông gửi lại
Gửi hỏngLỗi tạm thời (mạng, Meta quá tải)Tự thử lại
Bỏ quaMeta sẽ không bao giờ nhận (ví dụ quá 7 ngày)Không tự thử lại; bấm Xếp lại hàng nếu đã sửa nguyên nhân
Chờ gửiĐã xếp hàng, chưa có kết quảGửi ở lượt sau

Sổ cái rỗng là bình thường cho tới khi bạn nhập token và có người ghi danh sau khi bấm quảng cáo.

Ai được gửi ​

Một lượt ghi danh được gửi qua Conversions API khi đủ cả hai điều kiện:

  1. Học viên tự ghi danh trên website, theo đúng quy tắc của Pixel ở Phần 1. Lượt do quản trị làm hộ, duyệt đơn xin học, hệ thống tự cấp, hoặc xác nhận qua cổng thanh toán không được gửi.
  2. Có mã click Facebook, từ một trong hai nguồn:
    • fbclid trên link quảng cáo ở lần đầu người đó vào website, lúc tạo tài khoản; hoặc
    • cookie _fbc mà Pixel lưu trong trình duyệt lúc ghi danh. Nhờ nguồn này, người đã có tài khoản từ trước rồi mới bấm quảng cáo vẫn được gửi, miễn là Pixel đã chạy trên trình duyệt của họ.

Xử lý lỗi thường gặp ​

Thông báo khi bấm Kiểm tra kết nốiNguyên nhânCách xử lý
(#100) Missing Permission, bước Truy cập dataset/pixel thất bạiToken thiếu quyền ads_management trên Pixel này, hoặc token và Pixel ID thuộc hai Pixel khác nhauKiểm tra token bằng Access Token Debugger, tạo lại theo Bước 2, đối chiếu lại Pixel ID
Chưa bật hoặc chưa điền đủ thông tin.Chưa bật công tắc Bật, thiếu ID hoặc token, hoặc chưa bấm LưuĐiền đủ, bật, bấm Lưu rồi kiểm tra lại
Có chữ Invalid OAuth access token hoặc Malformed access tokenToken sai, bị cắt thiếu khi sao chép, hoặc đã bị thu hồiTạo token mới và dán lại

Những gì không đo được ​

  • Conversions API cần mã click Facebook. Người có tài khoản từ trước mà lúc tạo tài khoản không đến từ quảng cáo Facebook, sau đó bấm quảng cáo rồi ghi danh trên trình duyệt chặn Pixel (nên không có cookie _fbc): cả hai đường đều không thấy lượt này.
  • Trình chặn quảng cáo và iOS chặn một phần sự kiện Pixel. Conversions API bù phần này cho những lượt có mã click (xem Ai được gửi).
  • Meta chỉ gộp hai đường trong 48 giờ. Lịch hằng ngày gửi trong khoảng một ngày nên vẫn kịp. Một lượt Gửi hỏng được thử lại muộn hơn 48 giờ sẽ bị Meta tính là chuyển đổi riêng.
  • Người đổi thiết bị (bấm quảng cáo trên điện thoại, ghi danh trên máy tính) thường không ghép được với quảng cáo.

LMS Documentation