Singularで広告効果測定を実装する

## 始めに
Singularについての基礎知識がなかったため、今回調べることにしました。

## Singularとは
### アトリビューションの追跡
Singularは、アプリにおけるすべてのインストールを追跡し、それぞれのインストールを適切なマーケティングチャネルへと紐付けます。
これにより、どのキャンペーンやマーケティング活動がインストールに貢献しているのかを明確に把握できるようになります。
さらに、アトリビューションの一環として、インストール後に発生する以下のようなポストインストールイベントも追跡します。
* 購入完了
* 収益発生

これらのデータは、レポートとして可視化し、分析できるようになります。

### すべてのチャネル・ネットワークデータを一元管理
Singularは、広告を出しているすべてのチャネル・ネットワーク（例：Facebook、Google、Vungle、Unityなど）からデータを収集します。
そして、収集したデータを
* クリーニング（不要なデータ整理）
* 正規化（形式の統一）
* 標準化（共通フォーマットへの変換）

することで、すべてのデータを一箇所で確認できる環境を提供します。

### アトリビューションデータとネットワークデータの統合
Singularは、
* アトリビューションデータ（例：インストール数、収益）
* ネットワークデータ（例：インプレッション数、クリック数、広告費用）

を統合します。
これにより、すべての指標をまとめて確認でき、以下のような重要なビジネス指標を簡単に把握できるようになります。
* ROI（Return on Investment：投資収益率）
* CPI（Cost Per Install：インストール単価）
* CPE（Cost Per Engagement：エンゲージメント単価）
* その他、ビジネスに関連する各種指標

これにより、マーケティング効果を最大化し、より正確な意思決定を行えるようになります！

## 導入手順
### ステップ1：アプリを追加する
まず最初に、Singularにあなたのモバイルアプリを登録する必要があります。
どのアプリを管理するのか、そしてそのアプリがどのアプリストアに存在するのか（ストアのURLやアドレス）を教えることで、Singularがあなたのアプリを認識できるようになります。

https://support.singular.net/hc/ja/articles/4408155939867-%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AA%E3%83%BC%E3%83%88-%E3%82%AA%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0-%E3%82%AC%E3%82%A4%E3%83%89#Singular

### ステップ2：SDKをアプリに組み込む
次に、Singular SDKをモバイルアプリに組み込む必要があります。
これによって、Singularはインストールのトラッキングや、マーケティング活動の効果測定を行うことが可能になります。
SDKを組み込む際には、以下を必ず送信してください。
* セッション情報（ユーザーがアプリを開いた情報）
* トラッキングしたいイベント情報

どのイベントを送信するべきかについては、ドキュメントをよく読み、必要に応じて設定を追加してください。

https://support.singular.net/hc/ja/articles/4408155939867-%E3%82%B3%E3%83%B3%E3%83%97%E3%83%AA%E3%83%BC%E3%83%88-%E3%82%AA%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0-%E3%82%AC%E3%82%A4%E3%83%89#SDKS2S

https://support.singular.net/hc/ja/articles/12054824479387-iOS-SDK-%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E7%B5%B1%E5%90%88#SDK

https://support.singular.net/hc/ja/articles/36197245353627-iOS-SDK-%E3%82%A2%E3%83%97%E3%83%AA%E5%86%85%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%81%AE%E3%83%88%E3%83%A9%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0#

## アトリビューションについて
### 1. インストールの認識
アプリに組み込まれたSingular SDK/S2Sは、アプリが開かれるたびにSingularサーバーに報告します。アプリがSingularにとって未知のデバイスで開かれた場合、Singularはこれをアプリのインストールとしてマークし、インストールのアトリビューションプロセスをトリガーします。

言い換えると、インストール = 新しいデバイスで最初にアプリが開かれることです。

### 2. ユーザージャーニーの再構築
インストールごとに、Singularはデータベースをスキャンし、インストール前の一定時間内に同じデバイスから発生した関連性のある広告インタラクション（広告クリックと広告ビュー）を探します。Singularでは、これらの広告クリックや広告ビューをタッチポイントと呼びます。

目標は、ユーザーをアプリのインストールに導いた可能性が最も高いタッチポイントを見つけるための第一歩として、ユーザージャーニーを再構築することです。

![スクリーンショット 2025-04-29 16.11.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1640998/70d1b2d1-1dd6-48fe-a31f-56f0d555e0bd.png)

### 3. 不正の可能性のチェック
Singularがインストール前に発生したすべての関連タッチポイントを収集した後、不正防止エンジンが起動し、各タッチポイントを評価して本物か不正かを判断します。

例えば、広告をクリックしたように見えるのは、広告ネットワークがアプリインストールのクレジットを不正に受け取るためにシミュレートされたものかもしれません。あるいは、インストール自体が偽物かもしれない。このような不正やその他の不正は、CPI/CPAキャンペーンの過大請求の原因となるため、Singularではアトリビューションを確定したり広告ネットワークに報告したりする前に、不正の有無を確認します。

### 4. タッチポイントの優先順位付けとラストタッチアトリビューション
Singularはインストールに最も近いタッチポイントを優先します。これはラストタッチアトリビューションモデルと呼ばれます。

### 5. ポストバックの送信
アトリビューションの最終決定後、Singularシステムはパートナーネットワークにインストール（またはリエンゲージメント）がアトリビューションされたことを通知します。これは、ポストバック （パートナーのAPIエンドポイントに自動的に投稿されるメッセージ）を通して行われます。

https://support.singular.net/hc/ja/articles/115000526963-%E7%89%B9%E7%95%B0%E3%81%AA%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%82%A2%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B#Singular

## 有名なMMP例
* Adjust
* AppsFlyer

など

## まとめ
Singularの基礎知識について理解を深めることができました。
今後は、SKAdNetworkについてもさらに知識を広げていきたいと考えています。
また、Singular実装時に困ったことなどがあれば更新していきたいと思います