389 人が現在オンライン
389 人が現在オンライン
Google AdWords のログイン、MCC、API、Editor、認定資格などについてユーザー同士で意見交換ができます。運用者ならではの質問や回答を投げかけ合って問題を解決していきましょう。
ガイドを表示
star_border
返信

AdWords API 月別キーワード検索ボリュームの期間を設定したい

[ 編集済み ]
初級者 ✭

初めまして

 

Adwords API で月別のキーワード検索ボリュームを抽出しようとしています。

月別の検索数を抜き出すところまではできているのですが、データの期間を直近3ヶ月だけ、最新の1ヶ月だけというように絞りこむ方法がわからず困っている状況です。

 

以下、使用したコードです。

from googleads import adwords

PAGE_SIZE = 100

def main(client):
  # Initialize appropriate service.
  targeting_idea_service = client.GetService(
      'TargetingIdeaService', version='v201705')

  # Construct selector object and retrieve related keywords.
  offset = 0
  selector = {
      'searchParameters': [
          {
              'xsi_type': 'RelatedToQuerySearchParameter',
              'queries': ['新宿', '渋谷']
          },
          {
              # Language setting (optional).
              # The ID can be found in the documentation:
              # https://developers.google.com/adwords/api/docs/appendix/languagecodes
              'xsi_type': 'LanguageSearchParameter',
              'languages': [{'id': '1005'}]
          },
          {
              # Network search parameter (optional)
              'xsi_type': 'NetworkSearchParameter',
              'networkSetting': {
                  'targetGoogleSearch': True,
                  'targetSearchNetwork': False,
                  'targetContentNetwork': False,
                  'targetPartnerSearchNetwork': False
              }
          },
          {
              'xsi_type': 'LocationSearchParameter',
              'locations': [{'id':'2392'}]
              }
      ],
      'ideaType': 'KEYWORD',
      'requestType': 'STATS',
      'requestedAttributeTypes': ['KEYWORD_TEXT', 'TARGETED_MONTHLY_SEARCHES']
      ,'paging': {
          'startIndex': str(offset),
          'numberResults': str(PAGE_SIZE)
      }
  }
  more_pages = True
  while more_pages:
    page = targeting_idea_service.get(selector)

    # Display results.
    if 'entries' in page:
      for result in page['entries']:
        attributes = {}
        for attribute in result['data']:
          attributes[attribute['key']] = getattr(attribute['value'], 'value','0')
        print ('Keyword with \'%s\' text and average monthly search volume '
               '\'%s\''
               % (attributes['KEYWORD_TEXT'],
                  attributes['TARGETED_MONTHLY_SEARCHES']))

    else:
      print('No related keywords were found.')
    offset += PAGE_SIZE
    selector['paging']['startIndex'] = str(offset)
    more_pages = offset < int(page['totalNumEntries'])


if __name__ == '__main__':
  # Initialize client object.
  adwords_client = adwords.AdWordsClient.LoadFromStorage()

  main(adwords_client)

 

言語はPythonですが、JAVA等ほかの言語でも構いませんので、サンプルのコード、もしくは期間絞り込みのメソッド名をご教授いただけると幸いです。

 

どうぞ宜しくお願い致します。

 

1 人のエキスパートが返信verified_user

Re: AdWords API 月別キーワード検索ボリュームの期間を設定したい

トップコントリビューター
記載いただいたスクリプトを実行したわけではないので、推測ですが、現状で12ヶ月分の月別検索ボリュームは取得できていないでしょうか。

もし、12ヶ月分が取得できているのであれば、あとはAPIではなくPython側で絞り込むだけになります。おそらく
attributes['TARGETED_MONTHLY_SEARCHES']
の中に、月別の配列で検索ボリュームが入っているので、for / ifを使って必要な月を出力すればOKです。

いかがでしょうか。