【第3回】 送信ログ作成のベストプラクティスと LINE の送信ログについて
Marketing Cloud Engagement の送信ログとは、メール送信に関する特定のデータを自動的に保存するシステムデータエクステンションです。通常のトラッキング情報やデータビューの他に、より詳細なメッセージ送信時のデータを記録できる点が特長です。
以下の 3 つのチャネルで、個別に用意されます。
メール用「送信ログ」
SMS 用「送信ログ」
アプリ PUSH 用「送信ログ」
これらの送信ログは通常のデータエクステンションと同様に、SQL クエリアクティビティと組み合わせて分析や加工が可能であり、またデータビューとの併用も広く行われています。
送信ログに記録される情報と注意点
送信ログには、デフォルトで送信時のジョブ ID に基づく送信パフォーマンス情報が保存されます。これらの標準項目の詳細を把握しておく必要はありません。
ただし、購読者キーやメールアドレスなどの個人情報は含まれていません。そのため、必要に応じて、これらをカスタムフィールドとして追加する必要があります。特に「送信時点のメールアドレス」は、トラッキング情報だけでは後から取得できないため、事前に記録の設定を行うことを推奨します。
※ ただし、プライバシーポリシー上、メールアドレス等の個人情報を長期保存することには慎重な検討が必要です。
また、送信日時を保存することも可能ですが、CST(Central Standard Time)で記録される 点にご注意ください。日本の場合、15 時間マイナスで記録されます。
パフォーマンスへの影響と設計方針
送信ログは、カスタム項目が増えるほど送信処理に時間がかかるほか、後の分析処理にも影響します。そのため、送信ログを設計する際は、以下の点に留意し「必要最小限のデータ量と構成に抑える」ことがベストプラクティスとされています。
推奨事項
カスタムフィールドは 10 個以内に抑える
データ保持ポリシーを適切に設定する(Salesforce の推奨は 10 日間)
フィールドの長さは必要最小限に設定する
カスタムフィールドは null 許容とし、主キーにしない
送信件数が多い場合は、保持期間の短縮やアーカイブ対策を検討する
送信ログ運用の 3 原則(まとめ)
カスタム項目を必要最低限に絞る
保持ポリシーでデータ量を制限する
各フィールドの長さを適切に設計する
※ 保持期間を短く設定する場合は、アーカイブ用データエクステンションを別途用意し、自動で移行するオートメーションの構築が推奨されます。
設定上の注意点
送信可能データエクステンションのフィールド名と、送信ログのフィールド名は「完全一致」している必要があります。
プレビュー送信やテスト送信は、送信ログに記録されません。(デフォルト設定)
送信ログに過去の送信データを遡って記録することはできません。
1 つのビジネスユニット(MID)につき、各チャネルごとの送信ログは 1 つのみ作成できます。
例:あるビジネスユニットにおいては、メール用「送信ログ」は 1 つだけしか作成できません。
LINE の送信ログ
さて、送信ログはメール、SMS、アプリ PUSH では用意されていますが、LINE 配信には用意されていません。この場合、どうすれば良いでしょうか?
Marketing Cloud Engagement で LINE を使っている企業も多いことと思います。LINE には送信ログがないのか・・・と諦めないで下さい。AMPscript の「InsertData」を使えば自作できます。
以下のデータエクステンションを作成して、以下の AMPscript を HTML ブロックに挿入してください。
データエクステンション名:LINE_SEND_LOG
項目1:id
項目2:uid
項目3:eventdate
項目4:message_name(←'ABC'の部分にメッセージ名を入力)
%%[InsertData('LINE_SEND_LOG','id',id,'uid',LINE_ADDRESS_ID,'eventdate',SystemDateToLocalDate(now()),'message_name','ABC')]%%設定上の注意点
① AMPscript はインライン形式(%%=AMPscript=%%の形)ではなく、必ずブロック形式(%%[AMPscript]%%の形)で記載してください。インライン形式で作成すると、AMPscript を入れた箇所に「1」という数字が表示されてしまいます。
② この AMPscript は、Content Builder において、LINE テキストのコンテンツパーツを使用して記載するわけですが、何も文章を書かずに、AMPscript だけを入力した場合は、配信が失敗します。よって、何らかのテキスト入力は必須となります。(※配信は失敗しますが、配信ログは記録されます。)
③ また、Content Builder 上には、LINE においても、プレビュー機能があるかと思いますが、InsertData を使用すると、プレビューしただけでも、送信ログに書き込みがされてしまいます。これを防ぎたい場合には、下記AMPscript で対応してください。これでプレビューの場合は、InsertData の AMPscript が反応しなくなります。
%%[if _messagecontext == 'preview' then else InsertData('LINE_SEND_LOG','id',id,'uid',LINE_ADDRESS_ID,'eventdate',SystemDateToLocalDate(now()),'message_name','ABC') endif]%%いかがでしたでしょうか。
今回の記事では、送信ログの設定方法については触れませんでしたので、以下の Trailhead を参考にしてください。
今回は以上です。
