從工程師的角度看待廣告 Part2 - 商品目錄篇
前言
在 事件篇 提到發送事件是為了記錄使用者的行為,例如「瀏覽商品」、「加入購物車」等行為。但是,實際上我們看到的廣告,是需要提供「商品目錄」給廣告商,商品目錄就是商品的清單的意思,這樣廣告商才知道我們要投遞哪些商品。
商品目錄
商品目錄就是一個商品清單,目錄中每個商品都有各自不同的資訊,如 id, title, link 等。這些欄位資訊在各廣告商的文件有明確的規範。以 Meta 為例,一個商品提供資訊如下,這些欄位是 Meta 規範的必要欄位。每個商品都要提供必要的欄位資訊,商品才能成功上傳到後台的目錄。
id | title | description | availability | condition | price | link | image_link | brand |
---|---|---|---|---|---|---|---|---|
1234 | 條紋地毯 | 黑色和白色的基本色調 | in stock | new | 24.99 USD | http://www… | http://www… | Jasper’s Market |
item_group_id
除了必填欄位,還有一些選填欄位可以提供給廣告商,其中比較重要的是 item_group_id,item_group_id 跟商品 id 的概念不同,商品 id 代表每個獨一無二的商品,且商品目錄中商品 id 是不能重複的。
但是,如果產品有不同的尺寸及顏色,這時就可將這些商品設定相同的 item_group_id。舉例來說: 一個商品有紅色跟藍色,那他的商品 id 可以設定為 1234-red, 1234-blue,但是他們 item_group_id 都會是 1234。
如此一來,廣告商就會知道 item_group_id 為 1234 的是同個商品,還可以在投放廣告時,投不同尺寸跟顏色的商品,提升消費者購買的意願。至於在發送商品「瀏覽事件」時,商品 id 就直接發送 1234 即可,因為通常不同尺寸、顏色的同一個商品,會做在同一個商品頁面。
custom_label
另外,很常用到的選填欄位是自訂標籤 ( custom_label )。在投放廣告時,有時候只需要投放部分商品,並不是要投放整個目錄的商品。這時,就可以設定商品的自訂標籤。例如,自訂標籤可以是 「雙 11 商品特惠」,在雙 11 期間,我只需要投放有「雙 11 商品特惠」千的商品即可。
Meta 後台目前提供 5 個商標籤可以使用,分別是 custom_label_0 ~ custom_label_4,一個商品可能同時具有多個商品標籤。也就是在不同的廣告上,可能都會投到該商品。
video[0].url
Meta 在 2024/05/20 推出 目錄可以放影片連結,用來提昇廣告成效,詳細參考這篇 測試文章
商品目錄格式
商品目錄的格式有很多種,以 Meta 為例,廣告後台可以接受 XLSX、CSV、TSV、Google 試算表、及 XML 的格式,最簡方便的應該是 Google 試算表,官網上都有範本可以參考。
CSV 官網範本
1
2id,title,description,availability,condition,price,link,image_link,brand,google_product_category,fb_product_category,quantity_to_sell_on_facebook,sale_price,sale_price_effective_date,item_group_id,gender,color,size,age_group,material,pattern,shipping,shipping_weight,gtin,video[0].url,video[0].tag[0],product_tags[0],product_tags[1],style[0]
0,Blue Facebook T-Shirt (Unisex),A vibrant blue crewneck T-shirt for all shapes and sizes. Made from 100% cotton.,in stock,new,10.00 USD,https://www.facebook.com/facebook_t_shirt,https://www.facebook.com/t_shirt_image_001.jpg,Facebook,Apparel & Accessories > Clothing,Clothing & Accessories > Clothing,75,10.00 USD,2020-04-30T09:30-08:00/2020-05-30T23:59-08:00,,unisex,royal blue,M,adult,cotton,stripes,US:CA:Ground:9.99 USD;US:NY:Air:15.99 USD,10 kg,8806088573892,http://www.facebook.com/a0.mp4,Gym,some_string,other,BodyconXML 官網範本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<title>Test Store</title>
<link>http://www.example.com</link>
<description>An example item from the feed</description>
<item>
<g:id>DB_1</g:id>
<g:title>Dog Bowl In Blue</g:title>
<g:description>Solid plastic Dog Bowl in marine blue color</g:description>
<g:link>http://www.example.com/bowls/db-1.html</g:link>
<g:image_link>http://images.example.com/DB_1.png</g:image_link>
<g:brand>Example</g:brand>
<g:condition>new</g:condition>
<g:availability>in stock</g:availability>
<g:price>9.99 GBP</g:price>
<g:shipping>
<g:country>UK</g:country>
<g:service>Standard</g:service>
<g:price>4.95 GBP</g:price>
</g:shipping>
<g:google_product_category>Animals > Pet Supplies</g:google_product_category>
<g:custom_label_0>Made in Waterford, IE</g:custom_label_0>
</item>
</channel>
</rss>
utm 參數
utm 參數就是在商品後面加上的 query string,當使用者點進帶有 utm 參數的連結時,GA4 後台就可以追蹤到,這對於廣告投放很有幫助,我可以把光告連結設定成 https://m.orbis.com.tw/prod.php?utm_source=mycompany&utm_medium=facebook&utm_campaign=double11sale&utm_term=facebook&utm_name=cpc
這樣使用者點進這個連結時,從 GA4 後台就可以用不同的 utm 參數篩選,看哪邊的成效最好。
常見的 utm 參數有以下,但其實 query string 的名稱並沒有限定,想怎麼取名都可以,也可以是 sale=double11
之類的。
- utm_source
- utm_medium
- utm_campaign
- utm_term
- utm_name
在實作發現,如果用 xml 帶 utm 參數的話,因為 &
是 xml 中的保留字符,所以生成的 xml 這個字符 &
會被轉義成 &
,導致 GA4 無法追蹤。也就是說,這樣的連結 https://m.orbis.com.tw/prod.php?utm_source=david&utm_medium=david&utm_campaign=david&utm_term=david&utm_name=david
,GA4 是追蹤不到的。
解決方式是,把商品連結包進 <![CDATA[ ... ]]>
中,CDATA 可以保留純文本,不會被 xml 轉義,請參考以下 xml:
1 | <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> |
Content API、Catalog Batch
Content API 主要是針對有「數百萬」種商品的大型電商做使用,可以想像就是廣告商提供一個空的商品池,讓開發者可以透過呼叫 api 的方式,快速新增、刪除、或更新商品。跟一般自行上傳商品目錄 ( Meta )、或資料摘要 ( GMC ),是一樣的概念,只是用程式的方式操作,重點是這個商品池很大。在 GMC 叫做 Content API,在 Meta 則叫 Catalog Batch。可以參考官方文件操作。
配對率
配對率是 Meta 後台顯示事件跟商品目錄匹配的比率,官方文件 建議維持在 90 % 以上的配對率,對於廣告成效比較有幫助。
Meta 匹配的方式主要是用 商品的 id 做匹配,因為網頁端送事件的時候,Meta 會收到商品 id;後台廣告主提供商品目錄時,Meta 也會有商品 id 的資訊,所以 Meta 就可以拿兩邊收到的商品 id 做匹配。如果某商品有觸發「瀏覽商品」、「加入購物車」、「購買」等事件,在商品目錄就必須要有該商品,三種事件的配對率是分開計算的。
舉例來說,如果像素透過「瀏覽事件」收到了 100 個內容編號,其中 90 個與目錄中的商品相符,則該目錄和像素的「瀏覽事件」配對率為 90 %。目錄提供的商品數量可以多於事件收到的商品數量。
我們收到配對率低的原因大部分都是: 事件發送的商品 id 跟目錄提供的商 id 不匹配,因為有些客戶會需要客製商品 id,所以才導致商品 id 跟事件對不起來。
商品拒登
商品目錄在 Google Merchant Center ( GMC ) 稱作「資料摘要」,新增的商品如果有問題,GMC 就會有拒登的問題。商品拒登通常是商品資訊有問題,才會被拒登。因為商品 被拒登的情況 可能有很多,所以基本上就是看 GMC 後台顯示的拒登原因,把缺少的資訊補足即可。
舉例來說,以上商品拒登原因,有很大一部份是「圖片編碼無效」,後來去檢查圖片連結,才發現圖片連結是錯的,所以更換圖片連結,就好了。因為 GMC 的更新最快的排程是一天才更新一次,所以如果要馬上更新商品,可以手動點擊更新。
目前遇到最棘手的問題就是「動態饋給與到達網頁不一致,導致價格狀態不正確」的問題,之後會寫一篇 文章 詳細說明。
更新排程、取代排程
因為客戶隨時都有可能上架或下架商品,所以在 GMC, Meta 後台都必須要定期更新資料來源,資料來源的更新我們都使用「取代排程」,意思就是會把原本資料來源的商品都替換掉,而不是更新商品。這樣做的好處是,可以確保所有商品都是最新的,如果用更新排程,有些商品下架,就不容易被發現。不過,在 GMC 上,商品更新都是取代排程,不像 Meta 可以讓你選擇。
GMC 資料來源的更新,最快是一天更新一次,如果要馬上看到結果,可以手動更新。商品需要等一下 ( 時間不依,視商品數量而定 ),才會慢慢出現在商品池。
Meta 資料摘要的更新,最快是一小時更新一次,如果要馬上看到結果,也可以手動更新。
總結
廣告投放工程大概就是事件跟資料來源的整合,下圖總結了兩篇文章的概念: