こんにちは、 id:kano-e です。
先日 Google Merchant Center の Supplemental Feed (補助フィード) というものを試してみました。
データフィード広告とか、みなさんご興味いかがでしょうか……?
この記事では
- Supplemental Feed とは何か
- 管理画面から Supplemental Feed を登録する
という点についてまとめています。
API については詳細に調査していません。 API ドキュメントに見当たらず、管理画面で作成した Supplemental Feed を API で取得できない状態ですので、まだ API では扱えないのかなと思っているところです。
概要
Merchant Center のフィード管理が Primary feed (メインフィード) と Supplemental Feed (補助フィード) に別れています。
Supplemental Feed は必須ではなく、 Primary Feed だけで Google の仕様とポリシーを満たしている場合には、 Primary Feed 単体での運用が可能です。
Primary Feed の情報が仕様やポリシーを満たせない場合、あるいは部分的に更新をしたい場合には、 Supplemental Feed を使って Primary Feed の情報を書き換えたり足りない情報を追加したりすることが可能です。
Supplemental Feed の情報は id
属性を元に Primary Feed と関連付けられます。
Primary Feed にすでに存在する id
に対してしか、情報の追加・更新は行えません。
商品自体の追加や削除は Primary Feed でのみ可能です。
Primary Feed に存在しない id
を Supplemental Feed で指定して登録するようなことはできません。
使い方
Merchant Center の管理画面を見ると、フィード設定画面が以下のように Primary feeds と Supplemental feeds に分かれています。
以下のような情報を持つ tsv ファイルを Primary feeds に登録します。
(内容はダミーです)
id title description google_product_category product_type link mobile_link image_link additional_image_link condition availability availability_date price sale_price sale_price_effective_date gtin mpn brand identifier_exists item_group_id color gender age_group material pattern size size_type size_system shipping shipping_weight shipping_label multipack is_bundle adult adwords_redirect custom_label_0 custom_label_1 custom_label_2 custom_label_3 custom_label_4 excluded_destination expiration_date loyalty_points 125313554 スタートプレイヤーダイス スタートプレイヤーを決めるのに便利なダイス。転がすだけで決まるのですぐに遊び始められます。 1610 https://*****.**/*****/125313554 new in stock 1500 FFBGD001 FFBG
この tsv の内容は以下の通りです。
(わかりやすように、必須でない項目は省いています)
attribute | value |
---|---|
id | 125313554 |
title | スタートプレイヤーダイス |
description | スタートプレイヤーを決めるのに便利なダイス。転がすだけで決まるのですぐに遊び始められます。 |
google_product_category | 1610 |
link | https://*****.**/*****/125313554 |
image_link | |
additional_image_link | |
condition | new |
availability | in stock |
price | 1500 |
gtin | |
mpn | FFBGD001 |
brand | FFBG |
この商品情報には、 image_link
が入っていません。
このまま Primary Feed として登録すると、
このように Missing images
というエラーが出てしまいます。
次に、以下のような画像情報だけを持っている tsv を用意します。
id image_link 125313554 https://*****.**/images/125313554.jpg
attribute | value |
---|---|
id | 125313554 |
image_link | https://*****.**/images/125313554.jpg |
これを Supplemental feeds に登録します。
登録時に、どの Primary feeds を対象にするかを選択できますので、先ほど登録したフィードを選択しましょう。
Google の取り込み処理が終わると、
このように画像 URL が認識されて、クロール待ちの状態になりました。
以下のような形で、どの値がどのフィードから使われているかも確認できます。
失敗したところ
最初にフィードを用意する時に、 Primary Feed を tsv で、 Supplemental Feed を csv で書き出してしまっていました。
さらに、 Supplemental Feed は以下のように値を全てクォートで囲んだ状態になっていました。
id,image_link "125313554","https://*****.**/images/125313554.jpg"
Primary Feed と Supplemental Feed を登録しても何も起こらず、 image_link
が空のままという状態で、何がいけないんだろうとしばらく悩んでいました。
もしかして csv では id がクォートで囲まれてるからかも、と出力形式を tsv に統一したところ、無事 Supplemental Feed が機能するようになりました。
試しに id をクォートで囲まずに出力した csv を登録したところ、無事に image_link
が登録されたので、id が文字列か数値かが区別されているようです。
注意点
登録した Supplemental feeds を削除しようとしたところ、参照している Primary feeds があるよ、と言われて削除できませんでした。 詳細な条件は確認していませんが、お気をつけください。