# パブリッシャー向けの Reporting API

> パブリッシャーは Tapjoy Offerwall の Reporting API にアクセスし、詳細なデータの取得、アプリケーションパフォーマンスの監視と評価、Monetization戦略の最適化を行うことができます。

パブリッシャーは Reporting API を使用して、オファーウォールを提供するアプリのレポートデータを取得できます。

## 前提条件##prerequisites

API を使用して認証する必要があります。[API の認証](/grow/offerwall/monetization/api/api-authentication.md) を参照してください。

* Reporting API を使用してコンテンツを管理する方法については、[コンテンツ管理](/grow/offerwall/monetization/api/content-management.md) を参照してください。
* Reporting API のエラー処理と制限事項については、[Reporting API のベストプラクティス](/grow/offerwall/monetization/api/reporting-api-best-practices.md) を参照してください。

## パブリッシャーレポート指標##publisher-reporting-metrics

Reporting API を使用して、クリック数、コンバージョン数、収益合計額などの指標を含む、オファーウォールコンテンツのパフォーマンスデータをリクエストできます。利用可能なパブリッシャーレポート指標はすべて、以下の表に列挙されています。

パブリッシャーには、以下の基本クエリからパフォーマンス指標の取得を開始することをお勧めします。

```graphql
{
  publisher {
    placements(appId:"00000000-0000-0000-0000-000000000000") {
      id
      name
      insights(
        timeRange: {from:"YYYY-MM-DDT00:00:00Z", until:"YYYY-MM-DDT00:00:00Z"}
      ) {
        timestamps
        reports {
          dailyUniqueViewers
          earnings
        }
      }
    }
  }
}
```

| パブリッシャー指標                         | 説明                                                                                                                                  | Country (国) | アプリグループ | 単一のパブリッシャーアプリ | プレースメント | すべてのパブリッシャーアプリの合計 |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------- | ------------- | ------- | ----------------- |
| `averageDuc`                      | アプリ、プレースメント、またはコンテンツカード内の Offerwall 広告でコンバージョンに至ったユニークユーザー数 (ユーザーごとに 24 時間に 1 回カウント) を日数で割った値                                       | あり          | あり      | あり            | あり      | あり                |
| `arpdau`                          | 1 日のアクティブユーザーあたりの平均収益 (収益合計額を 1 日のアクティブユーザー数で割った値)                                                                                  | はい          | はい      | はい            | いいえ     | はい                |
| `arpduv`                          | 1 日のユニークオファーウォールビューアーあたりの平均収益 (収益合計額をアプリでオファーウォールを表示したユニークユーザー数で割った値 (ユーザーごとに 24 時間に 1 回カウント))                                      | はい          | はい      | はい            | いいえ     | はい                |
| `averageDau`                      | 1 日あたりの平均アクティブユーザー数 (ユーザーごとに 24 時間に 1 回カウント) を日数で割った値                                                                               | はい          | はい      | はい            | いいえ     | はい                |
| `averageDuv`                      | アプリでオファーウォールを表示した平均ユニークユーザー数 (ユーザーごとに 24 時間に 1 回カウント) を日数で割った値                                                                      | はい          | はい      | はい            | いいえ     | はい                |
| `clicks`                          | プレースメントから発生したクリック数                                                                                                                  | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `conversions`                     | プレースメントから発生したコンバージョン数                                                                                                               | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `dailyActiveUsers`                | 1 日あたりのアクティブユーザー数                                                                                                                   | はい          | はい      | はい            | いいえ     | はい                |
| `dailyUniqueConversions`          | このプレースメントまたはコンテンツカードから広告をコンバージョンしたユーザーの数 (ユーザーごとに 24 時間に 1 回カウント)。現在、オファーウォールコンテンツカードにのみ適用されます                                      | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `dailyUniqueOfferwallEngagements` | アプリ内のオファーウォール広告でコンバージョンしたユニークユーザー数 (ユーザーごとに 24 時間に 1 回カウント)                                                                         | はい          | はい      | はい            | いいえ     | はい                |
| `dailyUniqueOfferwallViewers`     | アプリ内でオファーウォールを表示したユニークユーザー数 (ユーザーごとに 24 時間に 1 回カウント)                                                                                | はい          | はい      | はい            | いいえ     | はい                |
| `dailyUniqueViewers`              | このプレースメントまたはコンテンツカードで広告を表示したユニークユーザーの数 (ユーザーごとに 24 時間に 1 回カウント)。現在、オファーウォールコンテンツカードにのみ適用されます                                        | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `ducduv`                          | このプレースメントまたはコンテンツカードから広告をコンバージョンしたユーザーの数 (ユーザーごとに 24 時間に 1 回カウント) をこのプレースメントまたはコンテンツカードで広告を表示したユーザーの数で割った値 (ユーザーごとに 24 時間に 1 回カウント) | はい          | はい      | はい            | はい      | はい                |
| `duvDau`                          | アプリ内でオファーウォールを表示したユニークユーザーの数 (ユーザーごとに 24 時間に 1 回カウント) を 1 日のアクティブユーザー数で割った値                                                         | はい          | はい      | はい            | いいえ     | はい                |
| `earnings`                        | 獲得合計金額                                                                                                                              | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `eCPM`                            | 収益合計額 / (開いているオファーウォールの総数 / 1000)。これはドルで表されます。                                                                                      | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `impressions`                     | プレースメントから発生したインプレッション数                                                                                                              | はい          | いいえ     | いいえ           | はい      | いいえ               |
| `newUsers`                        | 新規ユーザー数                                                                                                                             | はい          | はい      | はい            | いいえ     | はい                |
| `offerwallViews`                  | 開かれたオファーウォールの総数                                                                                                                     | はい          | はい      | はい            | いいえ     | はい                |
| `sessions`                        | アプリが開かれた回数                                                                                                                          | はい          | はい      | はい            | いいえ     | はい                |
| `totalRevenue`                    | 収益合計額                                                                                                                               | はい          | はい      | はい            | いいえ     | はい                |

\*\*ダッシュボードで利用可能なその他のパブリッシャー指標: \*\*

* インプレッション/ビュー
* コンバージョン率 (CVR)

## 指標のセグメント化##metric-segmentations

クエリにセグメントフィールドを追加することで、API はアプリ、プレースメント、国ごとのパフォーマンスデータを返すことができます。

Reporting API は、以下の内訳でのセグメント化に対応しています。

* country
* id (アプリグループ ID)
* id (パブリッシャーアプリ ID)
* プレースメント
* platform
* 全パブリッシャーアプリの合計

### セグメント化の例##segmentation-examples

#### 国別のセグメント##segment-by-country

以下のクエリは、国別にセグメント化された特定の配置の日次一意のビューアー データを返します。

1. **Query**

   ```graphql
   {
     publisher {
       placements(appId:"00000000-0000-0000-0000-000000000000") {
         id
         insights(timePreset:TODAY) {
           timestamps
           reports {
             country
             dailyUniqueViewers
           }
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql
   {
     "data": {
       "publisher": {
         "placements": [
           {
             "id": "00000000-0000-0000-0000-000000000001",
             "insights": {
               "timestamps": [
                 "2024-11-15T00:00:00Z"
               ],
               "reports": [
                 {
                   "country": "AU",
                   "dailyUniqueViewers": [
                     115
                   ]
                 },
                 {
                   "country": "IR",
                   "dailyUniqueViewers": [
                     18
                   ]
                 },
                 {
                   "country": "ZA",
                   "dailyUniqueViewers": [
                     2
                   ]
                 }
               ]
             }
           }
         ]
       }
     }
   }
   ```

#### アプリグループ別のセグメント##segment-by-app-group

以下のクエリは、アプリケーション グループIDでセグメント化された、最初の3つのアプリケーションの日次アクティブ ユーザー データを返します。

1. **Query**

   ```graphql
   {
     publisher {
       apps(first:3) {
         nodes {
           appGroupId
           insights(timePreset:TODAY) {
             reports {
               dailyActiveUsers
             }
           }
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql
   {
     "data": {
       "publisher": {
         "apps": {
           "nodes": [
             {
               "appGroupId":"00000000-0000-0000-0000-000000000000",
               "insights": {
                 "reports": [
                   {
                     "dailyActiveUsers": [
                       12
                     ]
                   }
                 ]
               }
             },
             {
               "appGroupId":"00000000-0000-0000-0000-000000000001",
               "insights": {
                 "reports": [
                   {
                     "dailyActiveUsers": [
                       31
                     ]
                   }
                 ]
               }
             },
             {
               "appGroupId":"00000000-0000-0000-0000-000000000002",
               "insights": {
                 "reports": [
                   {
                     "dailyActiveUsers": [
                       3
                     ]
                   }
                 ]
               }
             }
           ]
         }
       }
     }
   }
   ```

#### パブリッシャーアプリ別のセグメント##segment-by-publisher-app

以下のクエリは、最初の 3 つのパブリッシャーアプリケーションの 1 日あたりのアクティブユーザーデータをアプリケーション名別に返します。

1. **Query**

   ```graphql
   query {
     publisher {
     apps(first:3) {
         edges {
           node {
             name
             insights(timePreset:TODAY) {
               reports {
                 dailyActiveUsers
               }
             }
           }
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql"
   {
     "data": {
       "publisher": {
         "apps": {
           "edges": [
             {
               "node": {
                 "name": "example_app1",
                 "insights": {
                   "reports": [
                     {
                       "dailyActiveUsers": [
                         78
                       ]
                     }
                   ]
                 }
               }
             },
             {
               "node": {
                 "name": "example_app2",
                 "insights": {
                   "reports": [
                     {
                       "dailyActiveUsers": [
                         12
                       ]
                     }
                   ]
                 }
               }
             },
             {
               "node": {
                 "name": "example_app3",
                 "insights": {
                   "reports": [
                     {
                       "dailyActiveUsers": [
                         15
                       ]
                     }
                   ]
                 }
               }
             }
           ]
         }
       }
     }
   }
   ```

#### プレースメント別のセグメント##segment-by-placement

以下のクエリは、特定のアプリケーション内のすべてのプレースメントのインプレッションデータを配置ごとに分割して返します。

1. **Query**

   ```graphql
   {
     publisher{
       placements(appId:"00000000-0000-0000-0000-000000000000") {
         id
         name
         insights(timePreset:TODAY) {
           reports {
             impressions
           }
           timestamps
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql
   {
     "data": {
       "publisher": {
         "placements": [
           {
             "id": "00000000-0000-0000-0000-000000000000",
             "name": "AppLaunch",
             "insights": {
               "reports": [
                 {
                   "impressions": [
                     0
                   ]
                 }
               ],
               "timestamps": [
                 "2024-11-15T00:00:00Z"
               ]
             }
           },
           {
             "id": "00000000-0000-0000-0000-000000000000",
             "name": "offerwall", 
             "insights": {
               "reports": [
                 {
                   "impressions": [
                     2590
                   ]
                 }
               ],
               "timestamps": [
                 "2024-11-15T00:00:00Z"
               ]
             }
           }
         ]
       }
     }
   }
   ```

#### プラットフォーム別のセグメント##segment-by-platform

以下のクエリは、プラットフォームごとにセグメント化された特定の配置の日次一意のビューアー データを返します。

1. **query**

   ```graphql
     publisher {
       placements(appId:"00000000-0000-0000-0000-000000000000") {
         id
         insights(timePreset:TODAY) {
           timestamps
           reports {
             platform
             dailyUniqueViewers
           }
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql
   {
     "data": {
       "publisher": {
         "placements": [
           {
             "id": "00000000-0000-0000-0000-000000000001",
             "insights": {
               "timestamps": [
                 "2024-11-15T00:00:00Z"
               ],
               "reports": [
                 {
                   "platform": "ios",
                   "dailyUniqueViewers": [
                     78
                   ]
                 }
               ]
             }
           }
         ]
       }
     }
   }
   ```

#### すべてのパブリッシャーアプリの合計##sum-across-all-publisher-apps

これは、このパブリッシャーの下にあるすべてのアプリについて、リクエストされた指標の総数または合計を表します。

以下のクエリは、eCPM、収益合計、およびオファーウォールのビューを、現在のすべてのパブリッシャーアプリケーションの合計で返します。

1. **query**

   ```graphql
   {
     publisher {
       publisherAppInsights(timePreset:TODAY) {
         timestamps
         reports {
           ecpm
           totalRevenue
           offerwallViews
         }
       }
     }
   }
   ```

2. **Result**

   ```graphql
   {
     "data": {
       "publisher": {
         "publisherAppInsights": {
           "timestamps": [
             "2025-08-27T00:00:00Z"
           ],
           "reports": [
             {
               "ecpm": [
                 4.108913673386
               ],
               "totalRevenue": [
                 57149851536
               ],
               "offerwallViews": [
                 461224
               ],
             }
           ]
         }
       }
     }
   }
   ```

## フィルタリング機能##filtering-capabilities

クエリにフィルターを追加すると、API は指定されたソースからのみパフォーマンス指標を返します。Reporting API は以下のフィルタリング機能に対応しています。

* appid (単一アプリ)
* apps (*最初* または *最後* の x 個のアプリ)
* appGroupId
* content
* country
* platform
* timePreset
* timeRange

### フィルタリングの例##filtering-examples

#### アプリによるフィルター##filter-by-app

これにより、結果が単一アプリに制限されます

```graphql
{
  publisher{
    app(id: "<app ID>") {
      id
      name
      insights(timePreset:TODAY) {
        reports {
          arpdau
        }
        timestamps
      }
    }
  }
}
```

#### 複数のアプリによるフィルター##filter-for-multiple-apps

これにより、結果が *最初* または *最後* の x 個のアプリに制限されます

```graphql
{
  publisher {
    apps(first:3) {
      nodes {
        id
        platform
        insights {
          reports {
            arpdau
            totalRevenue
          }
        }
      }
    }
  }
}
```

#### アプリグループ ID によるフィルター##filter-by-app-group-id

これにより、結果が特定のアプリグループ ID のアプリに限定されます

```graphql
{
  publisher {
    publisherAppInsights(timePreset:TODAY, filter: {appGroupIds: ["00000000-0000-0000-0000-000000000000"]}) {
      timestamps
      reports {
        offerwallViews
        eCPM
        totalRevenue
      }
    }
```

#### コンテンツカードによるフィルター##filter-by-content-card

これにより、結果が単一のコンテンツカード ID に制限されます

```graphql
{
  publisher {
    placements(appId: "<app ID>") {
      id
      name
      content(id: "<content ID>") {
        id
        type
        insights(timePreset:TODAY) {
        timestamps
          reports {
            earnings
          }
        }
      }
    }
  }
} 
```

#### 国によるフィルター##filter-by-country

これにより、結果が指定された地理的地域に制限されます

```graphql
{
  publisher {
    publisherAppInsights(timePreset:TODAY, filter: {countries: ["KR, US"]}) {
      timestamps
      reports {
        offerwallViews
        eCPM
        totalRevenue
      }
    }
```

#### プラットフォームによるフィルター##filter-by-platform

これにより、結果が指定されたプラットフォームに制限されます

```graphql
{
  publisher {
    publisherAppInsights(timePreset:TODAY, filter: {platforms: [ios]}) {
      timestamps
      reports {
        offerwallViews
        eCPM
        totalRevenue
      }
    }
```

#### プリセット期間によるフィルター##filter-by-a-preset-timeframe

これにより、結果がプリセットされた期間に制限されます。これは相対的な時間範囲であり、クエリの実行時間によって結果が異なります。

**オプション**: *LAST\_30D*、*LAST\_WEEK*、*TODAY*、*YESTERDAY*。

> **Note:**
>
> データ集計のレベルを定義するには、**timeIncrement** を組み込みます。**timeIncrement** は *DAILY*、*HOURLY*、*MONTHLY* の値を取ることができます。**timeIncrement** は任意のパラメーターで、デフォルトは *ALL* です。

```graphql
{
  publisher {
    placements(appId: "<app ID>") {
      content(id: "<content card ID>") {
        insights(timePreset:LAST_30D, timeIncrement:DAILY) {
        timestamps
          reports {
            dailyUniqueViewers
          }
        }
      }
    }
  }
} 
```

#### 絶対時間範囲によるフィルター##filter-by-an-absolute-time-range

これにより、結果が指定された絶対時間範囲に制限されます。

最大範囲は 3 か月で、サポートされる最も古い日付は過去 2 年間です。

> **Note:**
>
> データ集計のレベルを定義するには、**timeIncrement** を組み込みます。**timeIncrement** は *DAILY*、*HOURLY*、*MONTHLY* の値を取ることができます。**timeIncrement** は任意のパラメーターで、デフォルトは *ALL* です。

```graphql
{
  publisher {
    placements(appId: "<app ID>") {
      content(id: "<content card ID>") {
        insights(timeRange: {from:"2024-11-15T00:00:00Z", until:"2024-11-17T00:00:00Z"}, timeIncrement:DAILY) {
        timestamps
          reports {
            dailyUniqueViewers
          }
        }
      }
    }
  }
} 
```

## 非推奨のディメンション##deprecated-dimensions

以下の古いディメンションは、2025 年 2 月 3 日に Reporting API から削除されます。API クエリが、以下の **太字** でリストされているディメンションを **参照していない** ことを確認してください。これにより、Tapjoy のオファーウォールからデータを取得するときのエラーを回避できます。

Objects > ContentCard> **ecpmSettings**

Enums > PublisherContentType:

* `ANNOUNCEMENT`
* `DIRECT_PLAY_HOUSE_AD`
* `FEATURED`
* `FSI_HOUSE_AD`
* `IAP_PROMOTION`
* `INTERSTITIAL_VIDEO`
* `MEDIATED_DIRECT_PLAY`
* `MEDIATED_FSI`
* `PREVIEW_CODE`
* `PROGRAMMATIC_INTERSTITIAL_VIDEO`
* `PROGRAMMATIC_REWARDED_VIDEO`
* `REWARDED_VIDEO`
* `TJ_RECOMMENDED`
* `REWARD_UNLOCK`

Input Objects > `CreatePlacementAndContentSetInput` > **ecpmSettingsToAdd**

Input Objects > `UpdatePlacementAndContentSetInput`:

* `ecpmSettingsToAdd`
* `ecpmSettingsToDelete`
* `ecpmSettingsToUpdate`
