買い物客の位置情報

ジオロケーションは、買い物客の位置情報に基づいてパーソナライズされた体験を提供する上で重要な役割を果たします。このガイドを使用して、Shopper Context API の位置情報機能をストアフロントに統合し、買い物客の体験を向上させます。

B2C Commerce バージョン 24.7 では、以下の方法で位置情報を操作できます。

  • クライアントの IP アドレスを使用して買い物客の位置情報を検索します。
  • クライアントの IP アドレスを使用して買い物客の位置情報を検索し、その情報を使用して後続のリクエストのコンテキストを設定します。
  • 位置情報を手動で指定し、その情報を後続のリクエストで使用します。
  • SCAPI を使用して位置情報を取得する場合、クライアントの IP アドレスは B2C Commerce プラットフォームから位置情報を取得するために使用され、IP ルックアップはユーザーのデータベース情報に基づいて行われます。詳細については、IP アドレスの位置情報検索を参照してください。
  • 位置情報との関連付けは、将来のリクエストに影響します。たとえば、メンバーシップに request.geolocation.city == 'San Francisco' が含まれる動的顧客グループがあるとします。グループメンバーシップの評価では、この買い物客に対するその後のリクエストには、この位置情報の場所が適用されます。詳細については、位置情報を使用した顧客セグメンテーションを参照してください。
  1. Business Manager にログインします。
  2. 管理 > グローバル環境設定 > 機能スイッチの順に進みます。
  3. 買い物客コンテキストの有効化 にチェックを入れます。

SCAPI を使用すると、クライアントの IP アドレスを使用して位置情報が取得され、B2C Commerce プラットフォームで位置情報が検索されます。

買い物客のコンテキストの PATCH または PUTリクエストに clientIp 属性を含めます。たとえば、次のようになります。

次のキーは HTTP レスポンスヘッダー x-geolocation で提供され、セミコロン (;) で区切られています。

  • CountryCode (国コード)
  • Country (国)
  • City (市区町村)
  • PostalCode (郵便番号)
  • MetroCode (メトロコード)
  • Region (地域)
  • RegionCode (地域コード)
  • Latitude (緯度)
  • Longitude (経度)

位置情報 HTTP レスポンスヘッダーは、x-geolocation または X-Geolocation として返すことができるため、大文字と小文字を区別しない方法で使用します。

clientIp を使用して位置情報を取得すると、情報は返されますが、後続のリクエストには影響しません。clientIp によって提供された位置情報を後続のリクエストで使用するには、evaluateContextWithClientIp クエリパラメーターを指定する必要があります。

evaluateContextWithClientIptrue: に設定されている場合:

  • clientIP は保存され、後続のリクエストで使用されます。

evaluateContextWithClientIpfalse に設定されている場合:

  • clientIP は保存されず、後続のリクエストでは使用されません。

どちらの場合も、x-geolocation レスポンスヘッダーが返されます。Null または空の値は返されません。

geoLocation 属性を使用して、特定のコンテキスト位置情報を設定することもできます。ネイティブブラウザー機能 (navigator.geolocation) または手動によるユーザー入力によってユーザーの位置情報を収集し、これらの座標を Shopper Context API に送信してサイトのパーソナライゼーションに役立てることができます。

次のオプションのパラメーターを任意に組み合わせて手動で設定できます。

  • countryCode (国コード)
  • country (国)
  • city (市区町村)
  • postalCode (郵便番号)
  • metroCode (メトロコード)
  • region (地域)
  • regionCode (地域コード)
  • latitude (緯度)
  • longitude (経度)

以下の Shopper Context リクエストの例では、位置情報を設定するために、geoLocation 属性に city パラメーターと countryCode パラメーターを指定しています。

返されるレスポンスヘッダー x-geolocation は次のとおりです。

リクエストボディで geoLocation 属性を使用して位置情報を設定した場合、その位置情報は後続のリクエストのコンテキストとして保存されます。コンテキストで geoLocationclientIp の両方が設定されている場合、geoLocation で設定された位置情報は、clientIp から解決された位置情報よりも優先されます。

たとえば、次のようなプロモーション構成があるとします。

  • 米国ニューヨークの場合: レディーストップスが 20% 割引。
  • 米国ボストンの場合: レディーストップスが 15% 割引。

次の Shopper Context リクエストでは、clientIp 属性と geoLocation 属性の両方が指定されています。この場合、geoLocation 値が優先され、レスポンスヘッダー x-geolocation は、リクエスト内の geoLocation 属性に基づいて位置情報を返します。

次の x-geolocation レスポンスヘッダーが返されます。

clientIp 12.12.12.1 は米国ニューヨークに解決されますが、ペイロードの geoLocation で米国ボストンが指定されているため、コンテキストはボストン固有のプロモーションに基づいて評価され、レディーストップスが 15% 割引になります。

この場合、ユーザーに位置情報の入力を求めるプロンプトを表示し、それを Shopper Context API に送信できます。

買い物客のコンテキストの PATCH 呼び出しで geoLocation 属性が更新されると、個々のプロパティ値ではなく、既存の位置情報値全体が置き換えられます。位置情報プロパティは連携して機能するため、位置情報を変更するには、必要なすべてのプロパティを送信する必要があります。

リクエストボディの geoLocation 属性を使用して、新しい位置情報のコンテキストを設定できます。geoLocation 属性には、次のものが含まれます。

  • countryCode
  • country
  • city
  • postalCode
  • metroCode
  • region
  • regionCode
  • latitude
  • longitude

Null 値は返されません。

Script API の観点から見ると、dw.system.Request.getGeoLocationは次の位置情報を返します。これはフックを使用する場合に便利です。

  • 市区町村: request.geolocation.city
  • 国名: request.geolocation.countryName
  • 国コード: request.geolocation.countryCode
  • 緯度: request.geolocation.latitude
  • 経度: request.geolocation.longitude
  • メトロコード: request.geolocation.metroCode
  • 郵便番号: request.geolocation.postalCode
  • 地域名: request.geolocation.regionName
  • 地域コード: request.geolocation.regionCode