よくある問題

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 サイト運営者はいつでもタイムゾーンを変更できるため、この影響でレポートの数値が急増または急減する場合があります。

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