キーワード逆引きは一つの操作です。ASIN を渡すと、その商品が検索で露出している語が返ってきます。
十分に単純に見えるので、何が返ってきているのかを確認する人はほとんどいません。しかしここを確認しないと、その語に基づく以降の判断はすべてずれます。
返ってくるものの定義
items.keyword フィールドは、ドキュメントでこう定義されています。
その ASIN が直近 30 日または指定の暦月に Amazon 検索結果の上位 3 ページに入ったことのある語
この一文には限定が二つあり、どちらも重要です。
一つ目、「上位 3 ページ」であって「すべて」ではありません。 ある語でその ASIN が 8 ページ目にいるなら、その語は返ってきません。つまり結果は「その商品に関連する全キーワード」ではなく、「その商品が一定の露出を得ているキーワード」です。
二つ目、一定期間のスナップショットです。 month を渡さなければ直近 30 日、渡せば(形式は yyyyMM)指定した過去の暦月になります。
この二つを合わせると、よくある混乱が説明できます。新商品や順位の弱いリスティングでは返る語が非常に少ないですが、これはデータの不具合ではありません。 「現時点でこの商品が得ている露出はこれだけだ」という事実を正確に報告しています。逆に、成熟した ASIN で千を超える語が返るのも同様に正常です。
したがって語数そのものが一つの指標になります。 競合が 1,800 語返し、自分が 90 語なら、その差はすでに結論の一部であり、それ以上の分析を要しません。
1 リクエストに必要なもの
| パラメータ | 必須 | 補足 |
|---|---|---|
asin | はい | 単一の ASIN。英大文字と数字 10 桁 |
marketplace | いいえ | 既定は US |
month | いいえ | 過去の暦月を yyyyMM で。省略時は直近 30 日 |
page | いいえ | ページ番号、最大 100 |
size | いいえ | 1 ページの件数、最大 100 |
asin がリストではなく単数である点に注意してください。一括処理は自分の側のループで行います。 これは呼び出し量の見積もりに効いてきます。競合 20 件なら最低 20 回、ページ送りが必要ならさらにページ数を掛けた回数になります。
ページングには上限があり、それは結論を変える
この API が取得できるのは最大 2,000 件です。一方レスポンスの total は条件に合致する語の総数で、2,000 を超えることがあります。
この二つが食い違っているとき、手元にあるのは先頭の 2,000 件であって全件ではありません。
実務上の意味はこうです。並び順を気にする必要があります。 切り落とされるのは末尾だからです。高価値の語を探しているなら末尾が欠けてもほぼ影響しません。しかし「この ASIN が何語をカバーしているか」を測りたいなら、その数は total であって、実際に取得できた行数ではありません。
両方を記録するほうが、片方だけより確実です。
順位フィールドの読み方
各語は rankPosition(自然順位)と adPosition(広告順位)の二組を持ち、構造は同じです。
| フィールド | 意味 |
|---|---|
page | 何ページ目か |
pageSize | そのページの件数 |
index | 現在のページ内で何番目か |
position | 全結果の中で何位か |
updatedTime | その順位をいつ測ったか |
比較には page ではなく position を使ってください。 pageSize は固定ではなく、サイトや検索語によって 1 ページの件数が変わりうるからです。2 ページ目の 1 位と 1 ページ目の 60 位のどちらが上かは、ページ番号だけでは答えられません。position は直接それに答えます。
updatedTime は独立した列として保存する価値があります。順位は動くもので、タイムスタンプの無い順位は 2 週間後に使えるかどうかを判断できません。
また rankPosition と adPosition が両方存在するということは、その語で自然順位を持ちつつ広告も出しているという意味です。adPosition だけなら、その露出は買ったものです。この区別への対処はAmazon キーワードの最適化で扱っています。
badges:その語がどこに置いているか
badges は配列で、naturalSearching、amazonChoice、editorialRecommendations、fourStar、highlyRated、sponsorBrand、sponsorVideo、ads などの値を取ります。
答えているのは「露出がどこから来ているか」です。同じ「この語で露出がある」でも、自然検索結果からと広告枠からではまったく意味が違います。この列は特に競合分析で効きます。相手のその語での位置が、勝ち取ったものか買ったものかが badges から直接読めます。
自社を見るのも競合を見るのも同じ API
逆引きは ASIN が誰のものかを区別しません。同じ API に二つの使い方があります。
自社を見る —— 「自分はどの語で露出しているか」に答えます。最適化の出発点です。
競合を見る —— 「相手はどの語で位置を持っているか」に答えます。よくあるやり方は、同種の競合を 3〜5 件回して返却語の和集合を取り、そこから自社の語を引く方法です。その差分が死角のリストになります。
この方法には注意点が一つ。競合の語が自動的に自社に合うわけではありません。 相手には自社に無いバリエーション、サイズ、認証があるかもしれず、相手に関連する語が自社には関連しないことがあります。差分は候補リストであって、やることリストではありません。
よくある三つの誤解
一:返ってくる語が競合のバックエンド検索キーワードだ。 違います。バックエンド検索キーワードは出品者が管理画面で入力する、そのアカウントだけが見られる認可データです。逆引きが返すのは、その ASIN が公開検索結果に実際に現れた語です。出どころが異なり、対応関係もありません。
二:語が多いほど良い商品だ。 語が多いのは露出の面が広いという意味です。一度も売れない語がリストで持つ意味は、主に「除外対象」です。数と質は分けて読んでください。
三:一度の逆引きで足りる。
逆引きはスナップショットです。傾向を判断するには複数の時点が要ります。month で連続する暦月をいくつか取れば、単発の結果よりはるかに多くを語ります。
語を得た後
逆引きは取得までです。そこから先は二方向あります。
- 保守可能なライブラリにまとめるなら自分のキーワードライブラリを作る
- 各語をどう扱うか決めるならAmazon キーワードの最適化
よくある質問
複数の ASIN を一度に渡せますか。
逆引きの asin は単数パラメータなので、一括処理は自分の側でループします。
親 ASIN と子 ASIN で同じ語が返りますか。 必ずしも同じではありません。バリエーション間で露出は異なりえます。サイズや色の差が大きいカテゴリでは特にそうです。厳密に比較するときは「この商品」と曖昧に書かず、どの ASIN を照会したかを記録してください。
手で検索した順位と違うのはなぜですか。
検索結果は位置情報、ログイン状態、過去の行動、時間帯に左右されるため、手動検索で API の採取条件を再現することはほぼ不可能です。手検索で「検証」するのではなく、updatedTime で鮮度を判断してください。
履歴はどこまで遡れますか。
month パラメータは暦月を受け取ります。実際に遡れる範囲は API ドキュメントを確認してください。任意に古い月のデータがあると仮定しないでください。