> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 実験におけるオフラインゴールコンバージョンの処理

> Data API の Visit エンドポイントを使用して、店舗での購入などのオフラインコンバージョンイベントを Kameleoon に送信し、取り込みを検証します。

[以前に紹介したように](./storing-and-retrieving-external-data-to-target-users)、Kameleoon の DATA API では、ユーザーが Kameleoon サーバーへデータを取得・書き込みできます。これを実現する主要なエンドポイントは **Visit**、**Product Recommendation**、**Map** の 3 つです。

状況によっては、店舗内の取引や電話注文など、オフラインで発生したゴールコンバージョンイベントを Kameleoon に送信する必要があります。このチュートリアルで説明する Visit エンドポイントは、個々の訪問者のオフラインデータを送信します。

送信するデータの構造に大きな柔軟性を提供する MAP エンドポイントとは対照的に、**Visit** エンドポイントでは、事前定義されたデータポイントのみを送信できます。これらには、コンバージョン、イベント、ページビューイベントに加えて、その他の[いくつかのデータタイプ](/user-manual/experiment-analytics/analyze-results/results-page/results-page-settings#Audience)が含まれます。この情報は、実験結果のフィルタリングや効果的な分析に役立ちます。

この記事では、次の操作について説明します。

* [POST/visit/events](/api-reference/visit/send-visitor-events) エンドポイントを使用したオフラインゴールコンバージョンの送信。
* [GET/visit/visitor](/api-reference/visit/get-visitor-data) エンドポイントを使用したオフラインゴールデータの送信検証。

オフラインコンバージョンデータを Kameleoon サーバーに送信するには、**siteCode** と **visitorCode** を正しくフォーマットした POST リクエストを送信します。

```shell theme={null}
https://eu-data.kameleoon.io/visit/events?siteCode=example_sitecode&visitorCode=example_visitor_code
```

<Note>
  Kameleoon スクリプトのドメインはプロジェクトによって異なる場合があります。作成日に応じて、プロジェクトは `kameleoon.eu` または `kameleoon.io` のいずれかでホストされています。Kameleoon アプリのプロジェクト設定に表示されているドメインを使用してください。北米の場合は、`na-data.kameleoon.io` または `na-data.kameleoon.eu` を使用します。
</Note>

* **`siteCode`**: 実験プロジェクトに関連付けられた一意の ID。このコードを取得する手順は[こちら](/user-manual/faq#how-do-i-find-my-sitecode)を参照してください。
* **`visitorCode`**: アプリケーションを閲覧している各ユーザーに割り当てられる一意の文字列。ユーザーを実験とバリエーションに割り当てると同時に、レポート用にデータを追跡します。Kameleoon Web Experimentation では、訪問者コードはランダムに生成され、各ユーザーに割り当てられます。Kameleoon Feature Experimentation では、Web SDK が訪問者コードを生成するか、特にログインが必要な Web サイトの場合はカスタム ID を使用できます。

<Note>
  Kameleoon のクロスデバイス調整を利用しているプロジェクトでは、**`visitorCode`** の代わりに `mappingIdentifier` パラメーターを使用できます。詳細は[こちら](../../../cross-device-experimentation)をご覧ください。
</Note>

<Note>
  このエンドポイントは、複数の `visitorCode` の一括コンバージョンをサポートしています。これを行うには、リクエスト本文に各イベントを含めます。
</Note>

ゴールデータを送信する際にリクエスト本文に必要なパラメーターには、次のものが含まれます。

* **`nonce`:** 各イベントに固有の 16 進文字 16 文字のランダムな文字列。
* **`eventType`:** イベントタイプを指定する文字列。この例では `CONVERSION` を使用します。
* **`goalID`:** ゴールの一意の ID。ゴールへのアクセスと管理方法については[この記事](/user-manual/assets/goals/manage-goals)を参照してください。
* **`revenue`:** コンバージョン時に発生した収益を示すオプションの浮動小数点パラメーター。

この情報は、次の cURL リクエストに変換されます。

```shell theme={null}
curl -X POST 'https://eu-data.kameleoon.io/visit/events?siteCode=f17c21u1ag&visitorCode=245fc&json=true' \
-H 'Content-Type: application/json' \
-H 'User-Agent: CustomUserAgent/1.0' \
-d '[{"nonce":"a2bb4d22083348ef","eventType":"CONVERSION","goalId":36151,"revenue":23.50}]'
```

リクエストが成功した場合はオブジェクトレスポンスが返されないため、次のセクションでは [GET/visit/visitor](/api-reference/visit/get-visitor-data) エンドポイントを使用して成功を検証する方法を示します。

## オフラインゴールコンバージョンデータの検証

POST リクエストの結果を検証するには、[GET エンドポイント](/api-reference/visit/get-visitor-data) を使用します。

リクエスト URL には次が含まれている必要があります。

* **`siteCode`:** このコードを取得する手順については[前のセクション](#sending-offline-goal-conversion)を参照してください。
* **`visitorCode`:** [前のセクション](#sending-offline-goal-conversion)で使用したものと同じ訪問者コード。
* **`maxNumberPreviousVisits`:** 返される過去の訪問の最大数を表す整数。
* **`currentVisit`:** 現在の訪問に焦点を当てるには `true` に設定します。デフォルト値は `false` です。***(注: これは Kameleoon Feature Experimentation でのみ利用可能です。)***
* **`conversion`:** 指定されたユーザーおよび Kameleoon アカウントで構成されたゴールに対するコンバージョンイベントを取得するには `true` に設定します。

<Note>
  Feature Experimentation がアクティブでない場合、Kameleoon が訪問を処理するまで(通常は 30 分間の非アクティブ後)お待ちください。コンバージョンデータは、最後に計算された過去の訪問に表示されます。
</Note>

これは、次の cURL リクエストに変換されます。

```shell theme={null}
curl -X GET 'https://eu-data.kameleoon.io/visit/visitor?siteCode=f17c21u1ag&visitorCode=245fc&maxNumberPreviousVisits=5&currentVisit=true&conversion=true' \
-H 'Content-Type: application/json' \
-H 'User-Agent: CustomUserAgent/1.0' \
```

GET リクエストが成功すると、前のリクエストで送信されたデータを含むレスポンスが返され、POST リクエストが成功したことが確認できます。

```shell theme={null}
{
  "previousVisits": [
    {
      "siteCode": "f17c21u1ag",
      "visitorCode": "245fc",
      "timeStarted": 1740447713028,
      "conversionEvents": [
        {
          "itp": false,
          "time": 1740447713028,
          "data": {
            "goalId": 361517,
            "revenue": 23.50,
            "negative": false,
            "metadata": {}
          }
        }
      ]
    }
  ]
}
```

## 追加情報

ほとんどの場合、指定したゴールと訪問者のコンバージョンは、実験レポートで使用されます。Kameleoon は、いくつかのルールに基づいてコンバージョンを実験に関連付けます。

* **アクティブな訪問中のコンバージョン:** 訪問者がアクティブで、実験のターゲットとなっている間にコンバージョンが発生した場合、Kameleoon はその訪問のコンバージョンを実験に関連付けます。
* **訪問終了後のコンバージョン:** 以前に訪問者が実験に含まれていたが、後で別のチャネル(例: 電話または店舗内)で購入を行った場合、Kameleoon は、定義されたアトリビューションウィンドウ(デフォルト: 7 日間)内にそれが発生した場合、そのコンバージョンを実験に帰属させます。このシナリオでは、Kameleoon はコンバージョンに関連付けられた新しい訪問を作成します。

訪問者レベルでのデータ分析により、コンバージョンの全体像を把握できます。これには、実験が以前に訪問者をターゲットにしていた場合に、ターゲット外の訪問中に発生したコンバージョンも含まれます。Kameleoon がコンバージョンをカウントする方法の詳細については、[こちらのリンク](/user-manual/experiment-analytics/analyze-results/data-and-metrics/how-kameleoon-counts-conversions)を参照してください。
