Feedforce Developer Blog

フィードフォース開発者ブログ

Google Merchant Center: Supplemental Feed (補助フィード) の使い方

こんにちは、 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 feedsSupplemental feeds に分かれています。

f:id:kano-e:20171120193427p:plain

以下のような情報を持つ 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 として登録すると、

スクリーンショット 2017-11-17 19.02.03.png

このように 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 の取り込み処理が終わると、

f:id:kano-e:20171120194731p:plain

このように画像 URL が認識されて、クロール待ちの状態になりました。

以下のような形で、どの値がどのフィードから使われているかも確認できます。

f:id:kano-e:20171120194846p:plain

失敗したところ

最初にフィードを用意する時に、 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 があるよ、と言われて削除できませんでした。 詳細な条件は確認していませんが、お気をつけください。