キャンペーンメンバーの状況を特定の値で固定する方法を紹介
Account EngagementではSalesforceキャンペーンと連携することができ、完了アクションなどのオートメーション機能によりキャンペーンメンバーの状況を操作することができます。
オートメーションとキャンペーンを組み合わせればプロスペクトの行動により自動で記録して管理することができますが、設定によっては不都合な値になってしまうこともあります。
【前提】キャンペーン状況の設定
本記事で紹介する設定を行う上で前提となるキャンペーン状況の値は以下で想定しています。
状況の値 | 運用想定 |
---|---|
Connected | メンバー追加時の初期状態 |
送信 | メールを開封する |
閲覧 | ランディングページを閲覧する |
申込み | ランディングページの申込みフォームを送信する |
キャンペーンとその運用方法は環境によって異なるため、本記事を参考に設定を行う場合はお使いの環境に合わせてアレンジしてください。
キャンペーン状況の優先度が前後してしまうケース
例として、あるキャンペーンにおいて最も確度の高い申込みフォームがあるとします。その完了アクションでキャンペーンの状況を「申込み」に設定しました。
そしてマーケティングメールの完了アクションにはリンククリック時に同じキャンペーンの状況を「閲覧」に設定しました。
このように設定した場合、プロスペクトの行動によって状況はどのように変化するでしょうか。
メール内のリンクをクリックしてから申込みフォームに送信してくれれば理想的な流れですが、どこか別の経路からフォームに辿り着いて送信を済ませ、その後でメールリンクを開いた場合は最も確度の高い状況である「申込み」がより低い「閲覧」で上書きされることになってしまいます。
他にもページアクションやEngagementプログラム等、様々なオートメーション機能の動作により状況の値が意図しない形で更新されてしまうケースが考えられますので、このような事態にならないように業務フローに合わせた処理の設計を行うことが重要です。しかし既に運用が開始されていて後からこの問題が発覚した場合、一から設計を見直すのは大変だと思います。
運用中のオートメーション機能の設定には手を付けず、状況が特定の値になったらそれ以降変更したくない場合には、Salesforceのフローを使った対策が有効です。
Salesforceのフローを用いた対策
キャンペーンはSalesforceで管理しているデータなので、Salesforceの機能を利用できます。
そこでフロー機能を応用しましょう。
「キャンペーンメンバー」オブジェクトのレコード更新時に起動するレコードトリガフローを作成します。
エントリ条件に「数式の評価がTrueになる」を選択し、以下の数式を入力します。
AND(
ISCHANGED( {!$Record.Status} ) ,
ISPICKVAL( {!$Record__Prior.Status} , '申込み' )
)
{!$Record.Status} はキャンペーンの状況を表していて、 {!$Record__Prior.Status} では状況が更新される前の値を参照しています。
この数式では状況の値が「申込み」から別の値に変更されたかどうかを判定します。
‘申込み‘の部分はお使いの環境ごとに、固定したい状況の値に置き換えてください。
条件設定が完了したら、次に「レコードを更新」の要素を追加します。
「フローをトリガーした キャンペーンメンバー レコードを使用」を選択し、Status項目の値には固定したい値を入力します。
設定が完了したらフローを保存して有効化しましょう。
以降にオートメーションによって状況を変化させるアクションが起こっても変わらなくなります。実際にはアクションによって値が変化しているのですが、すぐにフローが動いて値を元に戻しています。値の変更処理は正常に終了しているので同期エラーが発生することはありません。
まとめ
Salesforceは項目値の扱いにおいてはAccount Engagementよりも自由度が高いため、Salesforceと連携してそちらの機能を活用することで問題を解決できることがあります。
今回ご紹介したケース以外にも応用できる場面はあると思いますので、ぜひ工夫して活用してみてください。
記事の内容やAccount Engagementに関するお悩みごとは、お気軽に弊社HPお問い合わせフォームからお問い合わせください。