昔からの言い回しで「雨が降ったら…入札変更を適用せよ」というものがありますが、実際にはそうではありません。しかし、これはまさに私たちのRule Engineでできることの一つです!前回の「Thinking Outside The Box」投稿では、日付に基づく自動化でキャンペーンのステータスを変更する方法をご紹介しました。これはRule Engineの多様で強力なユースケースの一例に過ぎません。
今回は、Optmyzrが天気に応じて自動的に入札を調整する方法をご紹介します。同様のケースは、共同創業者のFrederick Vallaeysによる「Advanced Rule Engine Examples」動画でも取り上げられています。

ステップ1: レシピを作成する。

この例では、レシピを作成し、「現在の気温」や「現在の天気状況」といった値を使って広告グループレベルで入札を変更します。
これはRule Engineの天気による入札管理の多くのユースケースの一つに過ぎません。可能性としては、例えば:
- 天気データを使ってキーワードや商品グループレベルで入札を増減(例:暖かい日には「エアコン」を含むすべてのキーワードの入札を増やす)
- キャンペーンのステータスを変更(例:雪が降っている場合は「水着」キャンペーンを一時停止)
- その他多数!
ステップ2: スプレッドシートを設定する。
スプレッドシートを設定するには、こちらのGoogleスプレッドシートをコピーし、rule-engine@optmyzr-automation.iam.gserviceaccount.comに共有してください。
APIキーは[こちら](https://openweathermap.org/appid#get](https://openweathermap.org/appid#get)でご自身で生成し、シート「Instructions and Keys」に記載されている手順に従ってください。

注意: スプレッドシートの最後のステップでは、Rule Engineの「Connect External Data」セクションから「Get Sample Data For Your Account」をクリックしてキャンペーンリストをダウンロードし、「Paste CSV from RE here」シートにそのまま貼り付けてください。

ステップ3: 各キャンペーンに対応する都市または郵便番号を追加する。
次に、各キャンペーンに対応する都市または郵便番号を追加します。スプレッドシートには天気データを取得するための複数のシートがあります。使用するシートに応じて、キャンペーンリストに手動で都市名または郵便番号を追加してください。
都市の場合は、{city},{country code}の形式で入力してください(国コード一覧はこちらで確認できます)。

注意: 国コードを指定しないと、OpenWeatherMap APIが誤った都市のデータを返す可能性があります。
ステップ4: スプレッドシートをリンクする。
スプレッドシートをレシピにリンクするには、「Connect External Data」セクションにスプレッドシートのURLを貼り付けます。Rule Engineが天気データを取得するシート名と、正しい列タイプ(現在の気温:数値 | 現在の天気状況:テキスト)を指定してください。

詳細は「Rule Engineでの外部データ接続」をご覧ください。
ステップ5: レシピを構築する。
さあ、本題に入りましょう!これまでのステップを完了したら、スプレッドシートの天気データを使って独自のカスタム最適化を構築できます。スプレッドシートにはキャンペーンデータがあるため、条件を追加する際はキャンペーン単位で設定してください。

例えば、マドリードの「サングラス」キャンペーンとトゥールーズの「ショーツ」キャンペーンがあるとします。気温が上昇し始めたら、それらのキャンペーンの広告グループの入札を適宜増やしたいかもしれません。
最初のルールはまさにこれを実行します。気温が27ºCを超え、天気が「晴天」の場合、以下の2つのアクションを適用します:
- キャンペーン内の広告グループの入札を10%増加させる
- 広告グループにラベルを付ける(例:「Bid by High Temperature」)– このステップは重要で、Rule-2で変更を元に戻す際に役立ちます。

では、気温が下がった場合はどうなるでしょうか?2つ目のルールは、1つ目のルールで適用した変更を元に戻します。これを行うために、「Bid by High Temperature」ラベルが付いたすべての広告グループをチェックし、以下の2つのアクションを適用します:
- 入札を元の値に戻す。これは、現在の入札額を1+(0.1)で割る式を使って実現します(0.1は10%増加分)。
- 「Bid by High Temperature」ラベルを削除する。

注意: 同じスプレッドシート内で温度単位の変更が可能です(Instructions and Keysシート – ステップ4)およびOpenWeatherMap APIが返すすべての天気条件の一覧も確認できます(Descriptionsシート)。
ステップ6: テスト、プレビュー、そして自動化。
準備完了です!提案内容をプレビューし、問題なければ毎日実行するよう自動化してください。

ぜひお試しください!ご質問がある場合や、レシピを実行する前に確認してほしい場合は、support@optmyzr.comまでメールをお送りください。喜んでサポートいたします。








