Meta 商品目錄新增影片實作 - video[0].url 到底是甚麼?
前言
Meta 在 2024/05/20 發布了可以提升廣告投放成效的 新方法,就是在商品目錄中上傳影片的方式。但是,到底要怎麼把影片塞到商品目錄,是一個大問題,於是造就了這篇不斷測試的文章。
文件解讀
根據 Meta 官方說明文件,可以在原先的商品目錄上傳一個叫 video[0].url
的欄位,而且單個商品,可以上傳至多 20 的影片,如: video[1].url
~ video[19].url
。但是,這個欄位名稱真的太特別,不像一般 price 欄位,方便解讀。所以讓人很困惑。
此外,目前商品目錄的格式有很多種,包含 csv, xml, google sheet 等等。如果 video[0].url
要轉換成 xml 格式,tag 又要取名成甚麼,文件並沒有寫得很清楚,因為我們主要是用 API 產出 xml 格式的商品目錄。
後來,找到了這篇 文件,貌似有點頭緒。如果格式是 csv,欄位名稱真的是 video[0].url
。
要注意的是,商品目錄中有影片的商品數量限制,目前不能超過 30000 個。
xml 格式也有附上範例,欄位名稱要叫 <video>,影片連結要放在 <url> 中,展開如下。
1 | <video> |
另外,我也嘗試直接在後台編輯商品,看看是否可以直接貼影片連結,結果不行。手動編輯商品只能從電腦本機端上傳,不過至少可以看的到影片上傳成功的樣子。
Meta 後台測試資料格式
上傳 FB 成功畫面如下,csv, xml, google sheet 的檔案格式我都有測試過,都可以成功上傳。如果不行,請用其他廣告帳號試試看。
我在測試過程中發現,有些帳號無法顯示影片連結縮圖,換個廣告帳號就可以,真的很弔詭。目前測試到上傳 10000 個商品有成功,但是有些廣告帳號,meta 後台就是無法顯示影片縮圖,懷疑是 Meta 廣告後台設計問題。
csv 成功案例,使用
video[0].url
欄位,不用懷疑,欄位名稱就叫video[0].url
。請注意: 商品的必填欄位都要有,我是隨意用一個電商商品做測試。1
2id,title,description,availability,condition,link,image_link,brand,google_product_category,sale_price,price,item_group_id,video[0].url
1234567,和漢淨肌潔面乳,全新和漢淨肌系列!抗痘之光,進化再升級更淨膚、更祛荳、更保水添加多種植萃成分,溫和改善肌膚煩惱全系列無酒精,敏弱肌安心使用!,in stock,new,https://www.orbis.com.tw/prod.php?pid=4899,https://www.orbis.com.tw/u/product/2022/02/e4f535354ab09b891c041a7b95c18232.jpg,orbis,首頁 > 系列商品 > 和漢淨肌系列 > 和漢淨肌潔面乳,490,550,1234567,https://storage.googleapis.com/ec-feed-images/test_video.mp4google sheet 成功案例,跟 csv 格式一樣,也是用
video[0].url
的欄位。xml 成功案例,可以參考下面,自行創建 xml 檔測試,測試影片連結可以用 這個影片連結 。
注意: video 需要有 namespaces,<g:video>,url 不用 namespaces,<url>
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
<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>1234567</g:id>
<g:title>和漢淨肌潔面乳</g:title>
<g:description>全新和漢淨肌系列!抗痘之光,進化再升級更淨膚、更祛荳、更保水添加多種植萃成分,溫和改善肌膚煩惱全系列無酒精,敏弱肌安心使用!</g:description>
<g:link>https://www.orbis.com.tw/prod.php?pid=4899</g:link>
<g:image_link>https://www.orbis.com.tw/u/product/2022/02/e4f535354ab09b891c041a7b95c18232.jpg</g:image_link>
<g:brand>orbis</g:brand>
<g:google_product_category>首頁 > 系列商品 > 和漢淨肌系列 > 和漢淨肌潔面乳</g:google_product_category>
<g:item_group_id>1234567</g:item_group_id>
<g:condition>new</g:condition>
<g:availability>in stock</g:availability>
<g:sale_price>490</g:sale_price>
<g:price>550</g:price>
<g:video>
<url>https://storage.googleapis.com/ec-feed-images/test_video.mp4</url>
</g:video>
</item>
</channel>
</rss>
踩雷辛酸路程
用不同 Meta 商品目錄帳號交叉測試
在 Meta 廣告後台新增商品目錄時,就可以下載 csv 範本,而且官方提供的 csv 範本的中,影片欄位就是video[0].url
。當時我已經用官方範例,只是把測試影片連結換掉,仍然無法上傳成功。後來,用另一個廣告帳號就可以了🤔。猜測是廣告後台設定問題,或是 Meta 的這個功能還沒有很齊全,正在做 AB test。
xml 格式測試
xml 的格式測試是最久的,因為我一直無法參透video[0].url
到底要怎麼搭配,所以嘗試至少 10 次以上的組合。另外,文件有規定不能用 youtube 影片。測試到最後,靈機一動才想說用別的帳號測試,因為有些廣告帳號不會顯示,真的是心力交瘁😶🌫️
錯誤範例 1 : 都沒有 namespaces
1
2
3<video>
<url>https://storage.googleapis.com/ec-feed-images/test_video.mp4</url>
</video>錯誤範例 2 : 都有 namespaces
1
2
3<g:video>
<g:url>https://storage.googleapis.com/ec-feed-images/test_video.mp4</url>
</g:video>錯誤範例 3 : 把 url 當作 attribute
1
<video url="https://storage.googleapis.com/ec-feed-images/test_video.mp4"/>
錯誤範例 4 : 用 videos tag 再包一層
1
2
3
4
5<g:videos>
<g:video>
<g:url>https://storage.googleapis.com/ec-feed-images/test_video.mp4</url>
</g:video>
</g:videos>
新增商品目錄時,提示支援的欄位
上傳商品目錄時,如果有對應不上的欄位, Meta 有提供可以用其他欄位替代,如下圖,代表 Meta 抓不到你的 video 的欄位資訊。我有測試新增 video_link 欄位當作替代,結果出現更多編碼相關問題,於是放棄繞道亂測試。
GCS Bucket 測試
因為測試一次就要上一次 PR,還需要同事 review,並且等待 CICD,過程實在繁複,很難做到即時測試。後來,我直接使用 GCS,剛好我有上傳跟下載的權限,把 xml 上傳到 bucket,這樣就可以輕鬆測試了。
下載指令:
gsutil cp gs://your-bucket-name/path/to/your-file /local/destination/path
上傳指令:
gsutil cp /local/file/path gs://your-bucket-name/path/to/destination