【第3回】 送信ログ作成のベストプラクティスと LINE の送信ログについて
Salesforce Marketing Cloud の送信ログは、企業によっては、1 億レコード以上になることもありますが、カスタム項目数が多くなると、送信時に、そのログに書き込むデータ量も多くなりますので、送信処理時間が遅延しますし、この送信ログからレポートを抽出するときも、不要なデータが多くなり、同じく処理に時間がかかるようになります。
そのため、送信ログのベストプラクティスを考えるとき、基本的には、保管するレコード数なり、項目数なりを「制限」する様な方向で考えます。
これが送信ログ作成のベストプラクティスです。
もし、データ保持ポリシーで、レコードの保存期間を短くした場合は、送信ログ本体のアーカイブ DE を別に作成し、そちら側に送信ログのデータを移しておくオートメーションを組むと良いでしょう。
また、保持ポリシーは、送信ログのデータエクステンション内で1億レコード以上となると、送信ログの設定の変更できなくなるらしいです。気になる方は、下記ヘルプを読んでおくと良いかもです。
https://help.salesforce.com/s/articleView?id=000336497&type=1
あと、送信ログはメール、モバイルプッシュ、SMS では用意されていますが、LINE 配信には用意されていません。どうすればよいでしょうか?
Salesforce Marketing Cloud で LINE を使っている企業も多いことと思います。LINE には送信ログがないのか…と諦めないで下さい。AMPscript の「InsertData」を使えば自作できます。
以下のデータエクステンションを作成して、AMPscript を HTML ブロックに挿入してください。
%%[InsertData('LINE_SEND_LOG','id',id,'uid',LINE_ADDRESS_ID,'eventdate',SystemDateToLocalDate(now()),'message_name','ABC')]%%
注意点が 2 つあります。
① AMPscript はインライン形式(%%=AMPscript=%%の形)ではなく、必ずブロック形式(%%[AMPscript]%%の形)で記載してください。インライン形式で作成すると、AMPscript を入れた箇所に「1」という数字が表示されてしまいます。
② この AMPscript は、Content Builder において、LINE テキストのコンテンツパーツを使用して記載するわけですが、何も文章を書かずに、AMPscript だけを入力した場合は、配信が失敗します。よって、何らかのテキスト入力は必須となります。(※配信は失敗しますが、配信ログは記録されます。)
また、Content Builder 上には、LINE においても、プレビュー機能があるかと思いますが、InsertData を使用すると、プレビューしただけでも、送信ログに書き込みがされてしまいます。これを防ぎたい場合には、下記AMPscript で対応してください。
%%[if _messagecontext == 'preview' then else InsertData('LINE_SEND_LOG','id',id,'uid',LINE_ADDRESS_ID,'eventdate',SystemDateToLocalDate(now()),'message_name','ABC') endif]%%
これでプレビューの場合は、InsertData の AMPscript が反応しなくなります。
今回は以上です。