KlaviyoでUnsubscribeしたときにListから消えるかどうか

# Klaviyo便利！
[前回の記事](https://qiita.com/canonno/items/ad9a2b9659f7cc7c566b)に続き、Klaviyo関連の記事です。
ShopifyでのCRMを自由度高く実現してくれるアプリKlaviyoでハマったことを備忘録。

# ハマったところ
Klaviyoから配信されたメールについているリンクから配信購読解除をすると、顧客リストから解除されるときとされないときがある。

# 実演
## 二人のたかしくんが入った「All_takashi」にメルマガ配信
二人のたかしくんが入っている「All_takashi」というリストを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/81ff33b2-bfdf-2c6f-e866-29e6762bfc5c.png)
このリストに対してキャンペーンを送信します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/c88d2c19-7720-aa32-a310-197f2d7a51c2.png)

こんなメールがとどきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/4c29d288-a673-075a-ebb1-f13ed836d128.png)
メール下部の購読解除リンクから購読解除します。
「もう一人のたかしくん」側のアカウントで購読解除します。
プレミアムじゃないほうのたかしくんですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/9fb5d307-09cb-b674-b4be-1b638629bbbe.png)

無事完了！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/d373e4ae-8df6-ba14-9dd3-92249d973665.png)
そうするとリストから消えていることが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/a79f5f9d-e1d2-69c0-cdcd-3cbe1665e94d.png)
つまり、購読解除した場合は「**今後も同じリストで配信した時に、うっかり購読解除済のお客さんに送らないように**」リストから消えている感じがしますよね。

## 複数のリストにメルマガ配信
さて、今度はメルマガの配信対象を複数のリストに送ると仮定します。
一つ目が先ほどと同様の「All_takashi」リスト。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/73fb95ce-dc06-7bf3-901d-07cf56aedaa7.png)
二つ目が新しく作った「Premium_takashi」リスト。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/836a9d17-d1b3-26d0-f3f1-08a8cfaee3ac.png)

この2つのリストにメルマガ配信をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/b399289e-2d0b-b06f-96fd-8d2a103d2af4.png)
こんなメールが来ました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/6e03f3f4-ef48-2ee7-31ab-8102d983a1b9.png)
同じように購読解除します。
同様に、「もう一人のたかしくん」側のアカウントで購読解除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/e6e4cd00-af8d-eeec-0bdf-08561e6c0114.png)
無事購読解除！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/086fea07-c676-43a5-da67-4759746036c8.png)

ここでまずよくよく見てみると青ボタンのラベルが**「Subscribe」ではなく「Go to website」になってる**ことに気づきます。

リストからも消えてないことが分かります。**リストから消えない場合、Subscribeさせなおす必要がないので、ボタン表示は「Go to website」になる**、ということみたいですね。([参考記事](https://help.klaviyo.com/hc/en-us/articles/115005251848))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/b49f3a47-4e83-cb47-d4e2-acbaa1a8496e.png)

Profile上のUnsubscribe自体はされているみたいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/f9cdd475-ffc7-6d0a-2dce-13028570d631.png)


「たかしくん」側を購読解除した場合も同様に、リストから消えずにUnsubscribeだけされるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/800db616-c411-94ce-e991-a952c59508b1.png)

## 結果からの推察
キャンペーンを単一のリストに対して送信し、そのメールからUnsubscribeすると、そのリストから抜ける。
なので、Resubscribeするようなボタン表示になる(Secondary Action)。
キャンペーンを複数のリストに対して送信し、そのメールからUnsubscribeすると、リストからは抜けない。
なので、Go to HPのようなボタン表示になる (Primary Action)。
え、そんな分かりづらい仕様ある？

## 考察
[こちらの記事](https://help.klaviyo.com/hc/en-us/articles/115005251848)を参考にすると、デフォルトでアカウントに紐づいている同意ページを仕様するそうです。
この表現から、同意ページは「リスト独自のもの」と「アカウントに紐づいたもの」の二つの概念があることが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/1640c580-0005-b384-c11d-675fdc43b605.png)

先述のボタン表記についても、「ある特定のリストから抜けた場合はsecondary actionに切り替える」という表記がありますね。
リストから抜けない場合はResubscribeさせる必要はないから、Destination URLを表示するという思想なんでしょうね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/43dd5c0f-3038-769a-efec-5000ee1bf1fa.png)

Consent PagesにはGlobal unsubsribe pageというリンクが存在します。
ここから購読解除したらどうなるか実験してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/ba91cdc4-6ec6-509a-6ff8-4570b7ccac5d.png)
購読解除。Go to websiteになっているあたり、リストからは消えてなさそうですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/cc1f6b1d-0282-90f8-6a87-d29363947e89.png)
消えてないですね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/0a74e5a7-e1cb-5293-29fc-a4fc61042e94.png)

各リストにもUnsubscibeリンクが発行されているので、ここからunsubscribeしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/16155d24-71bd-2768-1aa1-f9bb014aac80.png)


購読完了。今度はSubscribeになってるので、リストから消えてそうですね。
消えてる！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/17316a59-5e13-50df-b2dc-4de237221c74.png)
ここで、ここまで関わってきたリンクのURLを観察してみましょう。リンクの文字列は便宜的に省略しています。

```text
//単一リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=01111&
k=6888&&
g=TGGGG&
m=011111&
r=33MMMM

//複数リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=011111&
k=f2222&
m=01111&
r=33MMMMM

//リストから直接取り出したリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
g=TGGGG

//グローバルな購読解除リンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?cy=RGxxxx
```
URLのパラメーターを観察してみると、c=01111やm=01111はメルマガの下部からのリンク、g=TGGGGという部分が入るとリストから削除されるというように見えます。

実際、一個目のリンクからgパラメータを消して、
```text
//単一リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=01111&
k=6888&&
g=TGGGG&
m=011111&
r=33MMMM

//試しに作った、g=パラメータを消した単一リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=01111&
k=6888&&
m=011111&
r=33MMMM
```
購読解除してみると、Go to websiteに。リストから抜けなくなったようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/a0fd011e-3a3c-810d-dc7d-56807475fc61.png)
実際リストにもいますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/f628650c-2a4b-d9b6-338e-e5b344dbc14f.png)

逆に、複数リストに送信した際のリンクにgパラメータをつけてみます。
```text
//複数リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=011111&
k=f2222&
m=01111&
r=33MMMMM

//gパラメータを付与した、複数リストに送信した時のリンク
https://manage.kmail-lists.com/subscriptions/unsubscribe?a=RGxxxx&
c=011111&
k=f2222&
m=01111&
r=33MMMMM
g=TGGGG&
```
購読解除するとSubscirbeになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/77dc0fde-b4df-db06-9a60-a2c7b3c7239d.png)
リストから消えましたね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666990/f0ed6fa7-61db-e07e-950e-5dbe906502e6.png)

以上のことから、gパラメータがあるとリストからの削除が実行されそう。
と、考えると、URLによってこの辺の処理が変わる可能性も全然ありそう。
と、考えると、複数リストへの送信時にリストからの削除がされないようになっているのも、状況証拠的にはありえそうですね。

# 結論
むずいね！