###### tags: `客製素材` # 第三方監測 ## 概覽 ### 種類 CM Tag* [IAS Tag](https://hackmd.io/@assistantDoc/rJXnQb1yp):關於 IAS Tag 請直接看這裡 Moat Tag LnData Tag DV Tag* DAR Tag* *目前官方文件較為完整之類型 20230224 問題紀錄 #### Moat Tag 使用了 JavaScript 的 impression tag 1. 如果在 Network 中檢查的到 pixel.gif? 與 moatad.js,是否代表收數正常? 或是有沒有其他指標可以檢查追蹤碼是否異常? 2. 放置於 `<head>` 或 `<body>` 內 (再確認) 3. 如果沒有在 `script` 內加上 `type="text/javascript"`,是否會影響程式運作? #### LnData URL 分為 click 與 impression 1. 不知道該將 URL 放置於哪種 HTML tag 內 - click: 使用 `<a>` 內的 `href` 引入 click url,或使用 `<script>` 內的 `src` 引入 (是否需要加上 type?) - impression: 使用 `<script>` 內的 `src` 引入 (是否需要加上 type?),並動態加入素材內 2. 放置於 `<head>` 或 `<body>` 內 ### 功能分類 - click tag:廣告被點擊後觸發 - impression tag:廣告顯示後觸發 - 針對廣告投放頁面之追蹤碼 - 目的:獲取頁面瀏覽軌跡 - 平台:FB Pixel/ Google ADs/ DV360 等 - 類型:PageView/ 廣告進度 (須確認選擇的廣告類型是否能以 % 數劃分) ### 來源 通常客戶會提供需埋設的 tag ( 一份 excel 檔,長的像下面例圖),告知埋設的追蹤碼和其對應的類別,如果沒有標示,需要請 AM 和業務再次確認。 ![第三方追蹤碼的 excel 範例](https://i.imgur.com/zJId1qc.png) ## 注意事項 ### 已知問題 1. 在素材裡加上三方追蹤碼,新加入的 tag 要保持小寫(因為客戶提供的追蹤碼常常 tag 是大寫),使用大寫,GAM 會擋,導致廣告無法正常露出。 2. img tag 的三方追蹤要注意圖片是否有 preload,如果有 preload 可能會觸發兩次,可以等廣告露出後再給定 img src 來解決此問題。 3. tag 裡的時間戳記 (\[timestamp]),文件說若沒有把亂數加進 tag 內,在 GAM 上可能無法正常運作,但大多數的廣告投放系統貌似可以設定自動更改此變數,在我們的 demolink 上也能正常回傳 dt? 。 (NOT SURE) 4. 使用 skeleton.js 的 vendor tag,一定要加上 `type="application/javascript"` ,未設置的話, HTML5 會預設為 `type="text/javascript"` 5. 使用 skeleton.js 的 vendor tag,通常會分為兩段,其中 \<noscript> tag 裡會包一個 impression tag (image 形式),會在沒開啟 JavaScript 的瀏覽器內被使用,如果動態埋入追蹤碼而非直接複製貼上 HTML 形式的追蹤碼,不能省略 \<noscript> tag,否則會重複觸發,導致收數異常。 ## 原始追蹤碼 ### CM Tag ```htmlmixed! <--Case : Nespresso--> <--Click--> https://ad.doubleclick.net/ddm/trackclk/N6264.1371339CLICKFORCE.COM.TW/B28478100.344930320;dc_trk_aid=536204153;dc_trk_cid=176837485;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd= <--Impression: JavaScript--> <SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/trackimpj/N6264.1371339CLICKFORCE.COM.TW/B28478100.344930320;dc_trk_aid=536204153;dc_trk_cid=176837485;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ltd=?"></SCRIPT> ``` ### IAS Tag ```htmlmixed! <--Case : Nespresso--> <--Click--> https://ad.doubleclick.net/ddm/trackclk/N6264.1371339CLICKFORCE.COM.TW/B28478100.344930320;dc_trk_aid=536204153;dc_trk_cid=176837485;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd= <--Impression: JavaScript--> <SCRIPT language='JavaScript1.1' SRC="https://ad.doubleclick.net/ddm/trackimpj/N6264.1371339CLICKFORCE.COM.TW/B28478100.344930320;dc_trk_aid=536204153;dc_trk_cid=176837485;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ltd=?"></SCRIPT> <SCRIPT TYPE="application/javascript" SRC="https://pixel.adsafeprotected.com/rjss/st/1157299/65485116/skeleton.js"></SCRIPT> <NOSCRIPT> <IMG SRC="https://pixel.adsafeprotected.com/rfw/st/1157299/65485115/skeleton.gif?gdpr=${GDPR}&gdpr_consent=${GDPR_CONSENT_278}&gdpr_pd=${GDPR_PD}" BORDER=0 WIDTH=1 HEIGHT=1 ALT=""> </NOSCRIPT> ``` ### Moat Tag ```htmlmixed! <--Case: UberEats--> <--Moat Site Served JavaScript Tag--> <script type="text/javascript" src="https://z.moatads.com/mediacomtwuberdcmdisplay33872307905/moatad.js#moatClientSlicer1=7708350&moatClientLevel2=28970767&moatClientLevel3=355715858&moatClientLevel1=9849968&moatClientLevel4=184646706&zMoatSSTG=1"></script> ``` ### LnData Tag ```txt! # Case : Mortlach # Click https://c.lndata.com/c/a80591,b1454892,c4084,i0,m101,h # Impression https://v.lndata.com/i/a80591,b1454892,c4084,i0,m202,h ``` ### DV Tag ```htmlmixed! <--Case : Mortlach--> <--JavaScript--> <script src="https://cdn.doubleverify.com/dvtp_src.js#ctx=21179234&cmp=28394519&sid=7107710&plc=344062699&adsrv=1&btreg=&btadsrv=&crt=&tagtype=&dvtagver=6.1.src" type="text/javascript"></script> <--1x1--> <img src="https://tps.doubleverify.com/visit.jpg?ctx=21179234&cmp=28394519&sid=7107710&plc=344062699&adsrv=1&btreg=&btadsrv=&crt=&tagtype=&dvtagver=6.1.img&" alt="" width="0" height="0" /> ``` ### DAR Tag ```htmlmixed! <--oralB--> <img src="https://secure-gl.imrworldwide.com/cgi-bin/m?ca=nlsn361817&cr=crtve&ce=clickforce&pc=clickforce_plc0001&ci=nlsnci3002&am=3&at=view&rt=banner&st=image&r=[timestamp]" style="display:none"/> ``` --- ### click tag 沒什麼特別的的一串網址,使用時須確認連結能正常導連,通常會直接在 DSP 上素材時填入導連欄位 (be used as a landing URL),如有副導連,則需要在 H5 素材內另外加入。 ```= <!-- basic click tag --> https://ad.doubleclick.net/ddm/trackclk/N6264.1371339CLICKFORCE.COM.TW/B28763121.348728642;dc_trk_aid=540569405;dc_trk_cid=180506787;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd= ``` ### 動態加入追蹤碼 建立元素後,在需要的時候呼叫追蹤碼。 舉例來說,翻轉特效內有三張圖片,如果客戶提供每張圖片對應的 impression tag,實際使用起來就是:第一張圖片出現 > 第一張圖片的 impression tag 被觸發;但如果三張圖只有一份共用的 impression tag,只需要在廣告出現時觸發一次。 click tag 也是相同的模式。 ```javascript= /* third party impression tag */ var CFimpressionTagA = document.createElement('script'); CFimpressionTagA.src = 'https://ad.doubleclick.net/ddm/trackimpj/N789069.3848558MATTERKIND/B28976319.352526802;dc_trk_aid=543567048;dc_trk_cid=182004517;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};ltd=?'; var CFimpressionTagB = document.createElement('script'); CFimpressionTagB.type = 'application/javascript'; //不能省略 CFimpressionTagB.src = 'https://pixel.adsafeprotected.com/rjss/st/1260192/67210948/skeleton.js'; var pack = document.createElement('noscript'); pack.innerHTML = `<img src="https://pixel.adsafeprotected.com/rfw/st/1260192/67210947/skeleton.gif?gdpr=GDPR&gdpr_consent=GDPR_CONSENT_278&gdpr_pd=GDPR_PD" border=0 width=1 height=1 alt="">`; cfOutDiv.appendChild(CFimpressionTagA); cfOutDiv.appendChild(CFimpressionTagB); cfOutDiv.appendChild(pack); /* third party impression tag */ ``` ## 如何檢查 ### 前置 - 如果瀏覽器有 ADBlock 或防毒軟體之類的擴充,需要關閉之後才能檢查到回傳值 - 推薦使用無痕模式檢查 - 使用開發者工具檢查時,可以開啟保留記錄檔、停用快取 ![](https://i.imgur.com/MSYINk6.png) ### 項目 可以利用下列元素搜尋: - tag 裡的 id (通常點擊 & 曝光會是同一組 id) - script 的名稱 (例如:skeleton.js\/moatad.js) #### vendor tag - 呼叫 skeleton.js 的 vendor tag => 須檢查 dt? ![](https://i.imgur.com/2DtmPw9.png) - 呼叫 moatad.js 的 vendor tag => 須在元素內檢查有無被加入 moat 的元素 ![](https://i.imgur.com/DUOUdI6.png) ## 參考資料 - [Campaign Manager 360](https://support.google.com/campaignmanager/answer/2826636?hl=zh-Hant&visit_id=638048586105225259-3791832678&ref_topic=2826623&rd=1):關於第三方 tag,推薦先讀完這份文件 - [How to add third-party impression or click tags to your ads and handle timestamps](https://wpadvancedads.com/third-party-impression-click-tags/)