1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【KARTE】特定のcookieを保有しているユーザーにのみ接客サービスを配信する

Posted at

前提

以下のような接客サービスを配信します。

  • 訪問ユーザーがcookieAを保有している場合、接客サービスAを配信する。
  • 訪問ユーザーがcookieAを保有していない場合、何も配信しない。

1.スクリプト

// getCookie関数を呼び出す
// #{cookie_name}:key=value のkey
var cookie = getCookie('#{cookie_name}');

// ユーザーがcookieAを保有している場合
// #{cookieA}:key=value のvalue
if (cookie == "#{cookieA}") {
  if (typeof tracker !== 'undefined' && tracker) {
    // 保有している場合のイベント送信
    krt('send', '#{event_name}', {
      cookie_name: cookie
    });
  }

// ユーザーがcookieAを保有していない場合
}else{
  // 保有していない場合のイベント送信
  krt('send', '#{event_name}', {
    cookie_name: ""
  });
}

// cookieの保有有無を調べる関数
function getCookie(key) {
  if (!document.cookie) return null;
  var arr = document.cookie.split('; ');
  var c = arr.find(function(c) {
    return c.split('=')[0] === key;
  });
  if (!c) return null;
  return decodeURIComponent(c.split('=')[1]);
}

上記のスクリプトを、配信対象ページを訪れた全ユーザーに対して送信する。

2.本命の接客サービス

通常はセグメントに「配信対象ユーザー」を指定し、配信トリガーに「配信条件」を指定すると思います。
今回で言えば、前者が「cookieAを保有しているユーザー」で、後者が「ページXを閲覧している」となります。

しかし、今回の配信条件は単純に「ページXを閲覧している」ではなく「cookieAを持った状態でページXを閲覧している」です。

接客サービスは【配信トリガーに合致したタイミング】で【そのユーザーが該当するセグメント】によって配信判断がされます。

たとえば以下のような接客サービスがあったとします。

  • 40秒以上ページに滞在したユーザーに接客サービスBを配信する。

これを次のように設定した場合、接客サービスは期待したタイミングで配信されません。

セグメント:40秒以上ページに滞在している
配信トリガー:対象ページを閲覧している

しかし、次のように設定を変更すると、期待したタイミングで接客サービスが配信されます。

セグメント:対象ページを閲覧している
配信トリガー:40秒ページに滞在している

上の場合は【対象ページを閲覧開始したタイミング】で【40秒以上ページに滞在している】必要があります。
閲覧開始=0秒なので、ユーザーはこの条件を満たすことができません。

下にすると【40秒ページに滞在したタイミング】で【対象ページを閲覧中】であれば、40秒経過後もセグメントから外れていないので、接客サービスを配信できるようになります。

まとめ

今回の場合は次のようになります。

配信されない例
セグメント:cookieAを持っている
配信トリガー:対象ページを閲覧している
※リロードはしない想定

配信される例
セグメント:対象ページを閲覧している
配信トリガー:cookieAを持っている

このように設定することで、訪問ユーザーがcookieAを保有している場合に接客サービスAを配信することができます。

注意点

同一ページで以下のような接客サービスCを配信しているとします。

セグメント:50代以上のユーザー
配信トリガー:対象ページを閲覧している

訪問ユーザーがcookieAを保有している50代以上のユーザで、「接客サービスAの配信優先度が100」「接客サービスCの配信優先度が1」だったとします。

この場合、配信優先度を比較するとA>Cではありますが、配信トリガーは「cookieAを持っている(というイベントが送信された)」よりも先に「対象ページを閲覧している」が発生します。
そのため、配信優先度に従ってA→Cの順に表示したい場合は、設定方法を工夫する必要があります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?