オプトアウトの確認画面を追加するには?
Synergy!LEAD の「メール配信(他オブジェクト)」「メール配信(キャンペーン)」のオプトアウト機能では確認画面が存在せず、配信停止の URL をクリックしただけでメール受信者への配信が停止する仕様となっています。
確認画面がない場合、メール受信者の誤操作により意図せずメール配信停止が実施される恐れがあります。
このような事態を防止するため、カスタマイズによりオプトアウトの確認画面を用意する方法を紹介させていただきます。本ページはオプトアウト設定が完了していることを前提としています。オプトアウト設定がまだの方は「初期設定(6) : オプトアウト設定」より設定を行ってください。
【補足】
Synergy!LEAD の機能として提供しているものではないため、今後の Salesforce 及び Synergy!LEAD の仕様変更によっては本記事の内容が利用できなくなる可能性がございます。あらかじめご了承ください。
カスタマイズ概要
確認画面を用意するのに必要な流れは以下の通りです。
- 確認画面用の Visualforce ページを作成する。
- 「サイト」から確認画面用の Visualforce ページを追加する。
- 確認画面用のオプトアウト埋込コマンドをメール本文に記述して配信する。
カスタマイズ方法
- [ 設定 ] | [ クイック検索 ] に「Visual」と入力、[ Visualforce ページ ] を選択し、[ 新規 ] をクリックします。
- Visualforce ページを作成して [ 保存 ] をクリックします。
ページのサンプルは以下の通りです。
【「OptoutConfirm」という名称の Visualforce ページの作成例】
<apex:page sidebar="false" cache="false" showHeader="false"> <p>配信停止確認画面</p> <apex:variable var="objparamString" value="{!IF(CONTAINS($CurrentPage.URL,'obj='), MID($CurrentPage.URL , FIND('obj=',$CurrentPage.URL)+4 , LEN($CurrentPage.URL)-FIND('obj=',$CurrentPage.URL)) , '')}" /> <apex:variable var="objparam" value="{!IF(CONTAINS(objparamString,'&'), MID(objparamString , 0 , FIND('&',objparamString)-1) , objparamString)}" /> <apex:variable var="sendidparam" value="{!IF(LEN($CurrentPage.parameters.sendId)==0, 'dummysendlistId=0' , 'sendId='+$CurrentPage.parameters.sendId)}" /> <apex:variable var="optinparam" value="{!IF(LEN($CurrentPage.parameters.optin)==0, 'dummyoptin=0' , 'optin='+$CurrentPage.parameters.optin)}" /> <apex:variable var="pageParam" value="obj={!objparam}&mf={!$CurrentPage.parameters.mf}&id={!$CurrentPage.parameters.id}&c={!$CurrentPage.parameters.c}&{!sendidparam}&{!optinparam}" /> <a href='/Synergylead__Optout?{!pageParam}' >配信停止する</a> </apex:page>
特に重要なのは4〜9行目になります。
9行目の a タグに関してはデザインなどの適用が可能ですが、4〜8行目はオプトアウト用の URL を組み立てるために必要な記述となるため、省略しないでください。それ以外の箇所については自由にデザインが可能です。
- [ 設定 ] | [ クイック検索 ] で「サイト」と入力、[ サイト ] をクリックします。
オプトアウトに使用しているサイトの [ 表示ラベル ] をクリックします。
- サイトの詳細が表示されるので「サイト Visualforce ページ」の [ 編集 ] をクリックします。
- 「利用可能な Visualforce ページ」の欄に最初に作成した Visualforce ページが表示されるため、「有効化された Visualforce ページ」に移動させ、 [ 保存 ] をクリックします。
- あとはメール本文の作成時にオプトアウトの埋込コマンドを記述する際、確認画面を経由する記述にすれば問題ありません。実際には以下のような形式で指定することになります。「サイトのドメイン名」はサイトの詳細にある「カスタムURLエリア」で確認します。
【全体オプトアウトの場合】
http://サイトのドメイン名/手順1で作成した Visualforce ページ名?{@unsubscribe}
【サイトのドメイン名が「synergylead-sitedomain.ap6.force.com」の場合】
http://synergylead-sitedomain.ap6.force.com/optoutconfirm?{@unsubscribe}
本来であれば「{@unsubscribe}」 だけを指定するところですが、確認画面の Visualforce ページにオプトアウト用の URL をパラメータとして渡す記述になっています。
これにより一度確認画面にアクセスし、リンクを押下することで実際のオプトアウト処理が実行されるという流れが実現できるようになります。
本記事ではオプトアウト用の確認画面を1つ、サンプルとして紹介しましたが、確認画面用ページを複数用意して用途によって使い分けることも可能なため、是非ご活用いただければと思います。
カスタマイズ方法
- [ 歯車マーク ] | [ 設定 ] | [ クイック検索 ] に「Visualforce」と入力、[ Visualforce ページ ] を選択し、[ 新規 ] をクリックします。
- Visualforce ページを作成して [ 保存 ] をクリックします。
ページのサンプルは以下の通りです。
【「OptoutConfirm」という名称の Visualforce ページの作成例】
<apex:page sidebar="false" cache="false" showHeader="false"> <p>配信停止確認画面</p> <apex:variable var="objparamString" value="{!IF(CONTAINS($CurrentPage.URL,'obj='), MID($CurrentPage.URL , FIND('obj=',$CurrentPage.URL)+4 , LEN($CurrentPage.URL)-FIND('obj=',$CurrentPage.URL)) , '')}" /> <apex:variable var="objparam" value="{!IF(CONTAINS(objparamString,'&'), MID(objparamString , 0 , FIND('&',objparamString)-1) , objparamString)}" /> <apex:variable var="sendidparam" value="{!IF(LEN($CurrentPage.parameters.sendId)==0, 'dummysendlistId=0' , 'sendId='+$CurrentPage.parameters.sendId)}" /> <apex:variable var="optinparam" value="{!IF(LEN($CurrentPage.parameters.optin)==0, 'dummyoptin=0' , 'optin='+$CurrentPage.parameters.optin)}" /> <apex:variable var="pageParam" value="obj={!objparam}&mf={!$CurrentPage.parameters.mf}&id={!$CurrentPage.parameters.id}&c={!$CurrentPage.parameters.c}&{!sendidparam}&{!optinparam}" /> <a href='/Synergylead__Optout?{!pageParam}' >配信停止する</a> </apex:page>
特に重要なのは4〜9行目になります。
9行目の a タグに関してはデザインなどの適用が可能ですが、4〜8行目はオプトアウト用の URL を組み立てるために必要な記述となるため、省略しないでください。それ以外の箇所については自由にデザインが可能です。
- [ 歯車マーク ] | [ 設定 ] | [ クイック検索 ] に [ サイト ] を入力・選択し、オプトアウトに使用しているサイトの [ 表示ラベル ] をクリックします。
- サイトの詳細が表示されるので「サイト Visualforce ページ」の [ 編集 ] をクリックします。
- 「利用可能な Visualforce ページ」の欄に最初に作成した Visualforce ページが表示されるため、「有効化された Visualforce ページ」に移動させ、 [ 保存 ] をクリックします。
- あとはメール本文の作成時にオプトアウトの埋込コマンドを記述する際、確認画面を経由する記述にすればOKです。実際には以下のような形式で指定することになります。「サイトのドメイン名」はサイトの詳細にある「カスタムURLエリア」で確認します。
【全体オプトアウトの場合】
http://サイトのドメイン名/手順1で作成した Visualforce ページ名?{@unsubscribe}
【サイトのドメイン名が「synergylead-sitedomain.ap6.force.com」の場合】
http://synergylead-sitedomain.ap6.force.com/optoutconfirm?{@unsubscribe}
本来であれば「{@unsubscribe}」 だけを指定するところですが、確認画面の Visualforce ページにオプトアウト用の URL をパラメータとして渡す記述になっています。
これにより一度確認画面にアクセスし、リンクを押下することで実際のオプトアウト処理が実行されるという流れが実現できるようになります。
本記事ではオプトアウト用の確認画面を1つ、サンプルとして紹介しましたが、確認画面用ページを複数用意して用途によって使い分けることも可能なため、是非ご活用いただければと思います。