よくある問題

AdSense API には新しいレポートや保存済みレポートを生成する呼び出しがあります。この呼び出しには、1 日ごとの収益などの単純なアナリティクスから、国ごとのカスタム チャネル別のクリック率といった非常に複雑な表まで、さまざまなものが含まれます。このガイドでは、API を使用して緊密な統合を行うために適切に処理が必要な、特殊な状況をいくつか説明します。

レポートの構造

JSON によるレポートの例を次に示します。

{
  "kind": "adsense#report",
  "totalMatchedRows": long,
  "headers": [
    {
      "name": string,
      "type": string,
      "currency": string
    }
  ],
  "rows": [
    [
      string
    ]
  ],
  "totals": [
    string
  ],
  "averages": [
    string
  ],
  "warnings": [
    string
  ],
  "startDate": string,
  "endDate": string
}

これらの属性の詳細については、reports.generate メソッドのドキュメントをご覧ください。

時間に関するディメンションの使用: DATEWEEKMONTH

レポートの内容が空だったり空欄がある場合

リクエストで指定された特定の期間内にアクティビティが存在しなかった場合、広告リクエストは生成されず、レポート サービスのその期間に対応する行は表示されません。グラフを描画する場合などはこの点に注意が必要です。

詳細については抜けている日付の入力に関するガイドをご覧ください。

1 つのレポートで MONTHWEEK の両方のディメンションをリクエストする場合

このような場合、レポートの結果はわかりづらいか予想とは異なるものになる場合があります。週が 2 つの月にまたがる場合、同じ週の行が両方の月で 1 回ずつ、2 行に分けて表示されます。

例:

ディメンション指標開始日終了日
WEEK
MONTH
CLICKS2014-04-282014-05-03

返される値:

MONTHWEEK*CLICKS
2014-042014-04-2750
2014-052014-04-2743
*週の最初の日

解決策

レポートから MONTH を削除します。

WEEKCLICKS
2014-04-2793

ディメンションの値の照合

たとえば、プラットフォームに関連のあるディメンション(デスクトップ、ハイエンド携帯端末など)をリクエストする場合、アクティビティが存在するプラットフォームのみが表示されます。指定された日や週、月にハイエンド携帯端末からの訪問がなかった場合は、そのカテゴリでは情報が表示されません。

例:

ディメンション指標開始日終了日
PLATFORM_TYPE_NAME
MONTH
AD_REQUESTS2014-02-012014-03-31

返される値:

MONTHPLATFORM_TYPE_NAMEAD_REQUESTS
2014-03デスクトップ100
2014-03ハイエンド携帯端末5
2014-04デスクトップ75

解決策

レポートの結果を処理するときに、結果が表示されていないディメンションの値を 0 として扱います。

MONTHPLATFORM_TYPE_NAMEAD_REQUESTS
2014-03デスクトップ100
2014-03ハイエンド携帯端末5
2014-04デスクトップ75
2014-04ハイエンド携帯端末0

複数の連続したレポートを結合する場合

1 つのレポートのサイズが大きすぎて分割が必要な場合があります。アプリケーションでこれを行う場合は、以下の点に注意します。

  1. WEEKMONTH のディメンションを使用しているときに週や月の途中でレポートを分割する場合は、それぞれのレポートに同じエントリが重複して現れます。このとき、それぞれのエントリに含まれるデータは異なります。
  2. すべてのレポートの指標とディメンションが同じである必要があります。異なるディメンション間ではデータを結合できません。

特殊なアカウントの場合

AdSense アカウントの中には、予期しない属性や知らない属性を持つものがあります。次のような場合には注意が必要です。

  1. 非常に多くのドメインやサイトを持つサイト運営者
  2. 非常に多くの広告ユニットやカスタム チャネルを持つサイト運営者
  3. 複数の広告クライアント(検索向け AdSense、動画向け AdSenseなど)についてのレポートを作成するサイト運営者

アカウントが複数ある場合

ユーザーは複数の AdSense アカウントにアクセスすることができます。このため、API を呼び出す際には毎回アカウント ID を指定する必要があります。accounts.list を呼び出すと、アカウントのリストが取得され、Account Chooser のダイアログが表示されます。取得されたアカウントが 1 つのみの場合は、この手順は省略できます。

タイムゾーンを変更する場合

AdSense サイト運営者はいつでもタイムゾーンを変更できるため、この影響でレポートの数値が急増または急減する場合があります。詳細についてはローカル タイムゾーンのレポート機能のガイドをご覧ください。

フィードバックを送信...