Đã có MSCLKID, Microsoft Ads có cần UTM Parameters không?
Cần. MSCLKID xử lý attribution trong hệ sinh thái của Microsoft — Clarity, UET tags, và Microsoft Ads dashboard — nhưng chỉ dừng ở đó. CRM, BI tool, hay nền tảng attribution bên thứ ba của bạn đều không đọc được MSCLKID. UTM parameters lấp đầy khoảng trống đó.
Microsoft Advertising chiếm khoảng 38% lượng tìm kiếm trên desktop tại Mỹ thông qua Bing, Yahoo, AOL và các đối tác DuckDuckGo syndication tính đến Q1 2026. Đó không phải con số nhỏ. Vậy mà hầu hết các team marketing đều copy nguyên setup Google Ads sang và coi là xong, không kiểm tra xem cú pháp macro có thực sự khớp không. Không khớp. Microsoft Ads dùng PascalCase macros — {CampaignId}, không phải {campaignid}. Làm sai điều này và mọi lần click sẽ đưa chuỗi ký tự {campaignid} vào báo cáo GA4 thay vì ID thực.
Vậy nên việc cài đặt rất quan trọng. Sự khác biệt so với Google Ads nhỏ đến mức dễ bỏ qua nhưng đủ lớn để phá hỏng toàn bộ dữ liệu.
Microsoft Ads Hỗ Trợ Những Dynamic Parameters Nào?
Dynamic parameters của Microsoft Ads — còn gọi là UET tag parameters hay URL tracking macros — tự động chèn dữ liệu campaign khi có click, giống như ValueTrack của Google. Cú pháp là PascalCase trong dấu ngoặc nhọn đơn: {Parameter}.
Đây là những gì bạn sẽ dùng thực tế:
| Microsoft Ads Macro | Dữ liệu chèn vào | Dùng trong |
|---|---|---|
{CampaignId} | ID campaign dạng số | utm_campaign, utm_id |
{Campaign} | Tên campaign (văn bản) | utm_campaign |
{AdGroupId} | ID nhóm quảng cáo dạng số | utm_campaign |
{AdGroup} | Tên nhóm quảng cáo | utm_campaign |
{AdId} | ID quảng cáo dạng số | utm_content |
{Keyword} | Văn bản keyword đã khớp | utm_term |
{MatchType} | Loại đối sánh: e, p, b | utm_term |
{Network} | Mạng: o (Bing), s (syndicated) | utm_source |
{Device} | Thiết bị: m, t, c | Custom parameter |
{TargetId} | Target ID (audience, vị trí) | utm_term |
{QueryString} | Từ khóa tìm kiếm thực tế người dùng nhập | Custom parameter |
{BidMatchType} | Bid match type của keyword | Custom parameter |
Có hai điểm đáng chú ý. Thứ nhất, {QueryString} trả về từ khóa tìm kiếm thực tế, không chỉ keyword đã khớp. Nếu bạn mới bắt đầu với UTM parameters, hướng dẫn 5 UTM parameters giải thích sẽ giúp bạn hiểu mỗi field làm gì trước khi điền macro vào. Google Ads đã xóa tính năng truyền search query từ nhiều năm trước với lý do "quyền riêng tư." Microsoft vẫn cung cấp điều này. Đó là lợi thế cạnh tranh thực sự cho phân tích search intent — dùng trong custom parameter nếu analytics stack của bạn hỗ trợ.
Thứ hai, {Network} trả về o cho các property thuộc Bing và s cho các đối tác syndication (Yahoo, AOL, DuckDuckGo). Nếu bạn chạy syndicated search mà thắc mắc tại sao CPC thấp nhưng conversion rate lại giảm, {Network} cho bạn biết chính xác traffic nào là partner traffic. Tôi từng chạy campaign năm ngoái mà 61% ngân sách chảy vào syndication partners với conversion rate 0.3% trong khi Bing chính thức đạt 2.8%. Nếu không có {Network} trong UTM, điều này sẽ hoàn toàn vô hình.
Xem tài liệu đầy đủ về macro tại tài liệu Microsoft Ads tracking parameters.
Cách Cài Đặt Tracking Template Trong Microsoft Ads
Tracking Template trong Microsoft Ads hoạt động giống hệt khái niệm của Google — đặt ở cấp account và mọi quảng cáo đều tự động kế thừa.
Điều hướng đến: Microsoft Ads → All Campaigns → Settings (biểu tượng bánh răng) → Account-level options → Tracking template
Template Clean Signal Method cho Microsoft Ads:
{lpurl}?utm_source=bing-{Network}&utm_medium=paid_search&utm_campaign={CampaignId}_{AdGroupId}&utm_content={AdId}&utm_term={Keyword}&utm_id={CampaignId}
{lpurl} là macro của Microsoft cho landing page URL — khái niệm giống và tên giống với Google. Hệ thống thay thế bằng Final URL khi có click.
Giải thích từng phần:
-
utm_source=bing-{Network}kết hợp "bing" tĩnh với loại network động. Bạn sẽ thấybing-o(Bing owned) hoặcbing-s(syndicated) trong GA4. Một chữ cái đó là sự khác biệt giữa biết và đoán tiền đi đâu. -
utm_medium=paid_searchkhớp với Default Channel Grouping của GA4. Không phảicpc, không phảibing, không phảippc. Ừ thìcpccũng dùng được. Nhưngpaid_searchrõ hơn trong báo cáo và vẫn map đúng. Chọn một cái và dùng nhất quán trên tất cả paid search platforms. -
utm_id={CampaignId}bắt buộc phải có cho việc import cost data vào GA4. ID dạng số tồn tại qua các lần đổi tên campaign. "Q1 Brand Terms" có thể trở thành "H1 Brand Campaign 2026" trong đợt dọn dẹp mùa xuân của ai đó, nhưng{CampaignId}mãi mãi là12345678.
Sau khi nhập template, Microsoft Ads cung cấp nút Test. Hãy dùng nó. Interface sẽ xác nhận tất cả macros resolve đúng trước khi lưu.
Một điểm cần lưu ý: Microsoft Ads hỗ trợ tracking templates ở cấp account, campaign, ad group, keyword và ad. Cấp thấp hơn override cấp cao hơn. Nếu ai đó trong team đặt campaign-level template để test rồi quên xóa, campaign đó sẽ bỏ qua cài đặt cấp account. Thỉnh thoảng hãy kiểm tra — lọc theo tracking template trong bulk editor để phát hiện override. Hướng dẫn UTM governance giải thích cách xây dựng quy trình audit để phát hiện vấn đề trước khi chúng làm hỏng dữ liệu nhiều tháng.
MSCLKID Là Gì và So Với GCLID Như Thế Nào?
MSCLKID (Microsoft Click Identifier) là tương đương của Microsoft với GCLID của Google — một click ID duy nhất được tự động tạo và gắn vào URL khi auto-tagging được bật trong Microsoft Ads. Nó trông như ?msclkid=abc123def456... và truyền dữ liệu click-level tới UET (Universal Event Tracking) tag của Microsoft.
So sánh:
| Tính năng | MSCLKID | GCLID | UTM Parameters |
|---|---|---|---|
| Tự động tạo | Có | Có | Không (cài thủ công) |
| Hoạt động trong GA4 | Có (qua import) | Tích hợp gốc | Có |
| Hoạt động trong CRM | Không | Không | Có |
| Hoạt động trong BI tools | Không | Không | Có |
| Tồn tại qua iOS 17 LTP | Không | Không | Có |
| Tương thích cross-platform | Không | Không | Có |
GA4 có thể import dữ liệu MSCLKID nếu bạn liên kết Microsoft Ads account trong admin panel của GA4. Nhưng điều này chỉ áp dụng cho GA4 — không phải CRM, BI dashboard hay attribution bên thứ ba.
Và giống GCLID, Link Tracking Protection của Apple trên iOS 17 xóa MSCLKID khỏi URL trong Mail, Messages và Safari private browsing. UTM parameters không bị ảnh hưởng. Theo tài liệu của Apple, Link Tracking Protection nhắm vào các click identifier đã biết một cách cụ thể.
Kết luận: bật auto-tagging cho MSCLKID và thêm UTM parameters qua Tracking Template. Chúng cùng tồn tại mà không xung đột.
Sự Khác Biệt Giữa Microsoft Ads và Google Ads Trong Setup UTM
Khái niệm giống nhau. Chi tiết khác nhau. Và chi tiết chính là nơi tracking bị hỏng.
| Sự khác biệt | Google Ads | Microsoft Ads |
|---|---|---|
| Cú pháp macro | lowercase: {campaignid} | PascalCase: {CampaignId} |
| Macro tên campaign | {campaignname} | {Campaign} |
| Macro tên ad group | {adgroupname} | {AdGroup} |
| Giá trị network | g, s, d | o, s |
| Truy cập search query | Đã xóa (quyền riêng tư) | {QueryString} khả dụng |
| Giá trị match type | b, p, e | b, p, e (giống nhau) |
| Auto-tag ID | GCLID | MSCLKID |
| Vị trí Tracking Template | Admin → Account Settings → Tracking | All Campaigns → Settings → Tracking |
Lỗi lớn nhất? Copy Tracking Template Google Ads sang Microsoft Ads mà không đổi case của macro. {campaignid} trong Microsoft Ads không resolve — nó được truyền qua như chuỗi ký tự {campaignid}. Báo cáo GA4 của bạn sẽ hiển thị giá trị campaign như {campaignid}_{adgroupid} thay vì ID thực. Tôi đã thấy điều này ở ba tài khoản client. Tất cả đều là copy-paste từ Google Ads.
Nếu bạn quản lý cả hai platform, hướng dẫn UTM cho Google Ads bao gồm cài đặt đặc thù của Google. Cấu trúc song song nhưng macros không thể hoán đổi cho nhau.
Mẹo chuyên gia: Chọn "Bing Ads" trong UTM Generator và công cụ tự điền PascalCase macros vào đúng field —
{CampaignId}_{AdGroupId}cho campaign,{AdId}cho content,{Keyword}cho term. Không có nguy cơ vô tình copy-paste cú pháp lowercase của Google. Nó tạo ra format Tracking Template{lpurl}đầy đủ sẵn sàng dùng cho Microsoft Ads.
Template Cho Từng Loại Campaign Microsoft Ads
Các loại campaign khác nhau cung cấp dữ liệu khác nhau. Template cấp account bao gồm hầu hết trường hợp, nhưng đây là các biến thể được tối ưu.
Search Campaigns — có dữ liệu keyword và match type:
{lpurl}?utm_source=bing-{Network}&utm_medium=paid_search&utm_campaign={CampaignId}_{AdGroupId}&utm_content={AdId}&utm_term={Keyword}_{MatchType}&utm_id={CampaignId}
Shopping Campaigns — dữ liệu sản phẩm quan trọng hơn:
{lpurl}?utm_source=bing&utm_medium=shopping&utm_campaign={CampaignId}&utm_content={AdId}&utm_id={CampaignId}
Audience Campaigns (Microsoft Audience Network) — inventory dạng display:
{lpurl}?utm_source=bing&utm_medium=display&utm_campaign={CampaignId}_{AdGroupId}&utm_content={AdId}&utm_id={CampaignId}
Performance Max — tương đương PMax của Microsoft ra mắt cuối 2025:
{lpurl}?utm_source=bing&utm_medium=paid_search&utm_campaign={CampaignId}&utm_id={CampaignId}
Một lưu ý về utm_medium cho Shopping campaigns. Dùng shopping làm medium thì mô tả rõ nhưng không khớp với Default Channel Grouping nào của GA4 — traffic đó vào "Unassigned." Nếu muốn Shopping traffic được phân loại dưới Paid Search trong GA4, dùng paid_search hoặc cpc thay thế. Đánh đổi là bạn mất khả năng lọc Shopping riêng trong default reports của GA4. Nếu điều đó quan trọng, giữ shopping và tạo custom channel group trong GA4 để xử lý.
Với các team chạy cả Google và Microsoft search campaigns, dùng giá trị utm_medium nhất quán giữa các platform giúp báo cáo đơn giản hơn. Dùng paid_search cho cả hai — rồi utm_source=google vs utm_source=bing phân biệt rõ ràng. Hướng dẫn UTM naming conventions chỉ cách xây dựng hệ thống đặt tên cross-platform không bị rối khi thêm ad network thứ ba hay thứ tư.
Điều Gì Xảy Ra Với UTM Khi Import Google Ads Vào Microsoft Ads?
Microsoft Ads có tính năng import Google Ads tích hợp sẵn. Nhiều nhà quảng cáo dùng nó để mirror Google campaigns sang Bing với một click. Tiện. Nhưng đây là vấn đề: import sao chép cấu trúc campaign, bids và ad copy — nhưng KHÔNG dịch Tracking Template macros.
Nếu Tracking Template Google Ads của bạn dùng {campaignid} (lowercase), chính xác chuỗi đó được import vào Microsoft Ads. Nó sẽ không resolve. Traffic Bing của bạn sẽ có UTM values bị hỏng.
Sau mỗi lần import Google Ads:
- Vào account-level Tracking Template trong Microsoft Ads
- Thay template Google bằng phiên bản PascalCase của Microsoft
- Test template dùng trình xác nhận tích hợp của Microsoft
Mất 60 giây. Bỏ qua bước này sẽ tiêu tốn nhiều tháng dữ liệu attribution bị hỏng. Không phải giả thuyết — blog quảng cáo của Microsoft liệt kê đây là một trong những vấn đề migration phổ biến nhất.
Cách Cài Đặt Microsoft Ads UTM Trong UTM Generator
Mở UTM Generator và chọn Bing Ads từ dropdown mạng quảng cáo. Công cụ điền tất cả field với PascalCase macros theo Clean Signal Method.
Quy trình:
- Nhập URL landing page
- Chọn Bing Ads từ network dropdown
- Source tự điền
bing— giá trị Clean Signal được khuyến nghị - Medium hiển thị
paid_search— tương thích channel GA4 - Campaign hiển thị
{CampaignId}_{AdGroupId}— numeric ID tồn tại qua các lần đổi tên - Content hiển thị
{AdId}— tracking cấp ad - Term hiển thị
{Keyword}— dữ liệu keyword - UTM ID hiển thị
{CampaignId}— bắt buộc cho GA4 cost import - Copy Tracking Template đã tạo (bao gồm prefix
{lpurl}) - Paste vào Microsoft Ads account-level Tracking Template
Lưu làm template trong UTM Generator. Chia sẻ template URL với team để mọi người dùng Bing UTM parameters giống nhau — không còn nhầm lẫn PascalCase vs lowercase giữa các thành viên team.
Generator tuân theo Clean Signal Method Nguyên tắc 1 (Nói ngôn ngữ GA4) với medium paid_search đúng, Nguyên tắc 4 (Tự động hóa hoặc hối hận) với dynamic macros, và Nguyên tắc 7 (Không campaign nào không có ID) với utm_id={CampaignId}.
Câu Hỏi Thường Gặp
MSCLKID trong Microsoft Ads là gì?
MSCLKID (Microsoft Click Identifier) là parameter duy nhất Microsoft Ads tự động gắn vào URL click quảng cáo khi auto-tagging được bật. Nó truyền dữ liệu attribution cấp click tới UET tag của Microsoft và có thể import vào GA4 bằng cách liên kết tài khoản Microsoft Ads. MSCLKID hoạt động trong hệ sinh thái của Microsoft nhưng không được đọc bởi CRM, BI tools hay nền tảng attribution bên thứ ba — đó là lý do UTM parameters vẫn cần thiết đi kèm với nó.
Cú pháp macro đúng cho Microsoft Ads UTM là gì?
Microsoft Ads dùng PascalCase trong dấu ngoặc nhọn đơn: {CampaignId}, {AdGroupId}, {Keyword}. Khác với Google Ads dùng lowercase: {campaignid}, {adgroupid}, {keyword}. Copy lowercase macros của Google sang Microsoft Ads là lỗi Bing UTM phổ biến nhất — macros sẽ không resolve và sẽ xuất hiện dưới dạng chuỗi ký tự trong báo cáo analytics.
Microsoft Ads có hỗ trợ auto-tagging như Google Ads không?
Có. Auto-tagging của Microsoft Ads gắn MSCLKID vào click URL, tương tự cách Google Ads dùng GCLID. Bật trong Microsoft Ads tại Shared Library → Account-level options → Auto-tag. GA4 hỗ trợ import dữ liệu MSCLKID khi bạn liên kết tài khoản Microsoft Advertising. Giống GCLID, MSCLKID bị xóa bởi Link Tracking Protection iOS 17 của Apple trong Mail, Messages và Safari private browsing.
Tôi nên thêm Tracking Template vào đâu trong Microsoft Ads?
Điều hướng đến All Campaigns → Settings (biểu tượng bánh răng) → Account-level options → Tracking template. Nhập template ở cấp account sẽ áp dụng cho tất cả campaigns tự động. Microsoft Ads cũng cho phép templates ở cấp campaign, ad group, keyword và ad — cấp thấp hơn override cấp cao hơn. Account level là mặc định đúng trừ khi bạn cần parameters khác cho các loại campaign cụ thể như Shopping hay Audience Network.
Tôi có thể dùng cùng một UTM template cho Google Ads và Microsoft Ads không?
Không. Cú pháp macro khác nhau. Google Ads dùng lowercase ({campaignid}) và Microsoft Ads dùng PascalCase ({CampaignId}). Campaign name macros cũng khác: {campaignname} trong Google vs {Campaign} trong Microsoft. Giá trị network trả về cũng khác — Google trả về g, s, d còn Microsoft trả về o, s. Bạn cần templates riêng cho từng platform. Dùng naming conventions utm_medium và utm_source nhất quán ở cả hai để giữ báo cáo GA4 gọn gàng.
Điều gì xảy ra với UTM parameters khi import Google Ads campaigns vào Microsoft Ads?
Import sao chép cấu trúc campaign, bids và ad copy nhưng không dịch Tracking Template macros. Lowercase macros của Google như {campaignid} sẽ xuất hiện dưới dạng chuỗi ký tự trong Microsoft Ads — chúng không resolve thành giá trị thực. Sau mỗi lần import Google Ads, hãy thay Tracking Template bằng các tương đương PascalCase của Microsoft và test bằng built-in validator. Bước 60 giây này ngăn chặn nhiều tháng attribution bị hỏng.
Microsoft Ads có tương đương với tham số {QueryString} của Google không?
Có — và đây thực sự là lợi thế. Microsoft Ads cung cấp {QueryString}, trả về từ khóa tìm kiếm thực tế người dùng đã nhập. Google Ads đã xóa mức độ minh bạch search query này. {QueryString} có giá trị cho phân tích search intent và có thể thêm làm custom parameter trong Tracking Template. Lưu ý rằng dữ liệu cấp query có thể tăng đáng kể độ dài URL cho các tìm kiếm long-tail.
Nên dùng utm_medium nào cho Microsoft Ads?
Dùng paid_search hoặc cpc cho Search campaigns — cả hai đều khớp với Paid Search Default Channel Group của GA4. Cho Shopping campaigns, cpc hoặc paid_search đảm bảo phân loại GA4, trong khi shopping mô tả rõ hơn nhưng vào "Unassigned." Cho Audience Network campaigns, dùng display để khớp với channel group Display của GA4. Tránh bing, ppc, sem, hay search-ads — GA4 sẽ không phân loại chính xác.
Cài đặt đúng Microsoft Ads UTM tracking ngay từ lần đầu — mở UTM Generator, chọn Bing Ads và copy một Tracking Template hoàn chỉnh với PascalCase macros đúng trong vòng 30 giây. Miễn phí, không cần tài khoản.