買い物客の位置情報
ジオロケーションは、買い物客の位置情報に基づいてパーソナライズされた体験を提供する上で重要な役割を果たします。このガイドを使用して、Shopper Context API の位置情報機能をストアフロントに統合し、買い物客の体験を向上させます。
B2C Commerce バージョン 24.7 では、以下の方法で位置情報を操作できます。
- クライアントの IP アドレスを使用して買い物客の位置情報を検索します。
- クライアントの IP アドレスを使用して買い物客の位置情報を検索し、その情報を使用して後続のリクエストのコンテキストを設定します。
- 位置情報を手動で指定し、その情報を後続のリクエストで使用します。
- SCAPI を使用して位置情報を取得する場合、クライアントの IP アドレスは B2C Commerce プラットフォームから位置情報を取得するために使用され、IP ルックアップはユーザーのデータベース情報に基づいて行われます。詳細については、IP アドレスの位置情報検索を参照してください。
- 位置情報との関連付けは、将来のリクエストに影響します。たとえば、メンバーシップに
request.geolocation.city == 'San Francisco'
が含まれる動的顧客グループがあるとします。グループメンバーシップの評価では、この買い物客に対するその後のリクエストには、この位置情報の場所が適用されます。詳細については、位置情報を使用した顧客セグメンテーションを参照してください。
- Business Manager にログインします。
- 管理 > グローバル環境設定 > 機能スイッチの順に進みます。
- 買い物客コンテキストの有効化 にチェックを入れます。
SCAPI を使用すると、クライアントの IP アドレスを使用して位置情報が取得され、B2C Commerce プラットフォームで位置情報が検索されます。
買い物客のコンテキストの PATCH または PUT リクエストに clientIp
パラメーターを含めます。以下に例を示します。
次のキーは HTTP レスポンスヘッダー x-geolocation
で提供され、セミコロン (;) で区切られています。
- CountryCode (国コード)
- Country (国)
- City (市区町村)
- PostalCode (郵便番号)
- MetroCode (メトロコード)
- Region (地域)
- RegionCode (地域コード)
- Latitude (緯度)
- Longitude (経度)
clientIp
を使用して位置情報を取得すると、情報は返されますが、後続のリクエストには影響しません。clientIp
によって提供された位置情報を後続のリクエストで使用するには、evaluateContextWithClientIp
パラメーターを指定する必要があります。
evaluateContextWithClientIp
が true:
に設定されている場合:
clientIP
は保存され、後続のリクエストで使用されます。
evaluateContextWithClientIp
が false
に設定されている場合:
- clientIP は保存されず、後続のリクエストでは使用されません。
どちらの場合も、x-geolocation
レスポンスヘッダーが送信されます。Null または空の値は返されません。
ネイティブブラウザー機能 (navigator.geolocation) または手動によるユーザー入力によってユーザーの位置情報を収集し、これらの座標を Shopper Context API に送信してサイトのパーソナライゼーションに役立てることができます。
次のオプションのパラメーターを任意に組み合わせて手動で設定できます。
- CountryCode (国コード)
- Country (国)
- City (市区町村)
- PostalCode (郵便番号)
- MetroCode (メトロコード)
- Region (地域)
- RegionCode (地域コード)
- Latitude (緯度)
- Longitude (経度)
位置情報を手動で設定すると、後続のリクエストのコンテキストとして保存されます。これにより、clientIp
を使用して保存されたコンテキストが上書きされます。
以下の Shopper Context リクエストの例では、位置情報を設定するための city
パラメーターと countryCode
パラメーターが提供されています。
evaluateContextWithClientIp
が true
に設定されている場合、ペイロードで指定された位置情報は、clientIp
から解決された位置情報よりも優先されます。前述の例では、次のプロモーション構成を想定します。
- 米国ニューヨークの場合: レディーストップスが 20% 割引。
- 米国ボストンの場合: レディーストップスが 15% 割引。
clientIp
12.12.12.1 は米国ニューヨークに解決されますが、ペイロードの位置情報で米国ボストンが指定されているため、コンテキストはボストン固有のプロモーションに基づいて評価され、レディーストップスが 15% 割引になります。
この場合、ユーザーに位置情報の入力を求めるプロンプトを表示し、それを Shopper Context API に送信できます。
以前の位置情報の値は、PATCH 呼び出しでは保持されません。位置情報プロパティは連携して機能するため、位置情報を変更する場合は、必要なすべてのプロパティを送信する必要があります。
リクエストボディの location
属性を使用して、新しい位置情報のコンテキストを設定できます。location 属性には、次のものが含まれます。
countryCode
city
postalCode
metroCode
regionCode
latitude
longitude
Null 値は返されません。
Script API の観点から見ると、dw.system.Request.getGeoLocationは次の位置情報を返します。これはフックを使用する場合に便利です。
- 市区町村:
request.geolocation.city
- 国コード:
request.geolocation.countryCode
- 緯度:
request.geolocation.latitude
- 経度:
request.geolocation.longitude
- メトロコード:
request.geolocation.metroCode
- 郵便番号:
request.geolocation.postalCode
- 地域コード:
request.geolocation.regionCode