Marketoで配信したメールに差し込んだトークンがうまく動かない、差し込み部分が空欄になる、もしくは古い値が入ったまま送られる。このようなご経験はないでしょうか。
この2つは見た目が似ていますが、原因は異なります。空欄は「値が見つからなかった」という問題、古い値は「想定と違う値を読みに行っている」という問題です。確認すべき画面も変わります。先に切り分けて調べないと、関係のない設定を見直すことになり解決につながりません。
この記事では、メール配信後に差し込んだトークンがおかしいと気づいた方が、自分で原因の場所までたどり着けるようにすることを目的にしています。
まず「空欄」か「古い値」かを切り分ける
最初にやることは、症状の分類です。
- 空欄:差し込み箇所に何も表示されていない、または空白だけが残っている
- 古い値:何かしらの値は入っているが、それが今あるべき値ではない(前回配信の値、変更前の値など)
この2つを混同したまま調査を始めると遠回りになります。空欄は値の参照先かデフォルト値の問題、古い値は参照しているトークンの場所か、データの更新タイミングの問題、という見当をつけてから先に進んでください。
配信済みのメールでどう表示されたかを確認するには、対象リードの「アクティビティログ」で、どのメールがいつ送られたかを確認します。特定のリードでトークンがどう置き換わるかを実際に見たいときは、そのリードを宛先に指定してサンプル送信し、差し込み結果を確認します。プレビューだけで判断すると、配信時点のリードの値やトークンの階層とずれることがあるため注意が必要です。
空欄で配信されたときに見る場所
デフォルト値が設定されているか
トークンは、参照先のフィールドに値がない相手に対して、デフォルト値を表示する仕組みになっています。デフォルト値を設定していないと、フィールドが空のリードには何も表示されません。
メール本文のトークン記述を開き、デフォルト値が入っているかを確認してください。記述は {{lead.会社名:default=貴社}} のように、:default= のうしろに表示させたい文字を書きます。この部分が抜けていると、フィールドが空のリードだけ空欄になります。一部のリードだけ空欄、という症状の多くはこれが原因です。
参照先のフィールドにそもそも値が入っているか
デフォルト値があっても、フィールドが空であればデフォルト値が出るだけで、本来入れたかった値は出ません。リードデータベースで対象リードを開き、参照しているフィールドに値が入っているかを直接確認します。
データ連携で値を入れている場合、連携元では値があってもMarketo側にまだ反映されていないことがあります。配信のタイミングが同期より早いと、空のまま送られます。
トークン名の打ち間違い
トークン名が間違っていると、Marketoがそのトークンを見つけられず、意図した値に置き換わりません。このとき必ず空欄になるわけではなく、{{my.トークン名}} という記述がそのまま本文に残って配信されることがあります。差し込み箇所にトークンの記述がそのまま見えている場合は、フィールドが空なのではなく、名前が一致していないと考えてください。
なお、デフォルト値はMarketoが正しく認識したトークンに対して、参照先が空のときに使われるものです。名前自体が一致していないと、デフォルト値の出番にもなりません。マイトークンは {{my.トークン名}} の形で、登録した名前と本文の記述が完全に一致している必要があります。スペース、全角半角、大文字小文字の違いでも一致しなくなります。デザインスタジオやプログラムのマイトークン一覧で、登録名と本文の記述を見比べてください。
マイトークンが、そのメールを送る階層から解決できるか
マイトークンは、設定したプログラムやフォルダの範囲で有効です。同じプログラムに直接なくても、上位のフォルダや親プログラムにあれば、そこから継承されて読まれます。逆に、どの階層にも該当するトークンがない、または意図しない階層のトークンを参照していると、期待した値には置き換わりません。デフォルト値を設定していれば、そのデフォルト値が表示されます。
メールアセットとスマートキャンペーンが別プログラムにまたがっているときは、メールアセットが属する側の階層からマイトークンが解決されます。エンゲージメントプログラムから送るメールが、そのプログラムの外にあるメールを参照している場合、メールが置かれている側の階層からトークンが読まれる点も、値がずれる原因になりやすい箇所です。
Sales Insightから送っていないか
Microsoft DynamicsやSalesforceのSales Insight経由でメールを送ると、マイトークンは解決されません。リードや会社などの標準トークンとデフォルト値だけが反映されます。営業が個別送信したメールだけ差し込みがおかしい、という場合はここを疑います。
Member トークンを使うメールの送信構成
ウェビナーURLのように {{member.〜}} の形で外部連携の固有値を差し込むトークンは、メールを送るスマートキャンペーンが、そのイベントプログラムの配下にある場合にだけ値が入ります。プログラムの構成が合っていないと、値が入らず空欄になります。member トークンを使っているメールで空欄が出たときは、本文ではなく送信元のプログラム構成を先に確認してください。
マイトークンの中で別のトークンを使っている場合
マイトークンの値の中で、さらに別のトークンを参照する書き方(入れ子のトークン)は、バッチ配信ではサポートされていません。トリガー配信では問題なかったものが、バッチ配信にした途端に値が入らなくなった場合は、トークンが入れ子になっていないかを確認してください。これはAdobeの公式ドキュメントにも記載されている挙動です。
古い値で配信されたときに見る場所
メールが下書きのまま承認されていないか
メール本文やトークン記述を編集しても、承認していなければ、配信には承認済みの古い版が使われます。編集したつもりが反映されない、という症状の多くはこれです。マーケティング活動の対象メールを開き、承認済みか下書きかの状態を確認してください。編集後は承認しないと反映されません。
編集したトークンの階層が、実際に読まれている階層と違わないか
マイトークンには「継承」と「上書き」があります。親プログラムのトークンは子プログラムに継承され、子側で値を変えると「上書き」になります。
ここで起きやすいのが、親で値を直したのに、子プログラムですでに上書きしていて、配信では上書きした古い値が読まれているケースです。逆に、子で直したつもりが、配信しているのは別の階層のトークンだった、ということもあります。配信元のプログラムを開き、そのトークンが「継承」か「上書き」か、表示されている値が意図どおりかを確認します。値を直す場所を間違えていると、いくら直しても配信は変わりません。
参照先フィールドのデータが更新されていない
トークンが読みに行く値は、配信時点のフィールドの値です。連携元のシステムで値を更新しても、Marketoのフィールドに反映される前に配信されると、更新前の値が送られます。リードのフィールドを開き、いつ更新されたか、配信時刻より前に最新値が入っていたかを確認してください。
配信が複製や旧バージョンを参照していないか
メールを複製して使い回している運用では、編集したのが別の複製で、配信に使っていたのは古い複製だった、ということが起こります。スマートキャンペーンのフローステップで指定されているメールアセットが、自分が編集したものと同じかを確認します。
確認の順番をチェックリストにする
調査のたびに迷わないよう、順番を固定しておくと早く切り分けられます。
- 症状は「空欄」か「古い値」かを分ける
- 空欄なら、デフォルト値の有無 → フィールドの値 → トークン名 → プログラムの範囲 → 送信元の順で見る
- 古い値なら、メールの承認状態 → トークンの継承と上書き → フィールドの更新時刻 → 配信に使ったアセットの順で見る
- 配信前に、本番に近いリードへサンプル送信し、差し込みの実値を確認する
箇条書きの手順だけでは現場では足りない場面もあります。特に「空欄なのにデフォルト値も出ない」ときは、トークン名の不一致とプログラム範囲外の2つが重なっていることがあり、片方だけ直しても解決しません。両方を同時に見てください。
再発を防ぐために決めておくこと
トークン関連の事故は、配信直前の差し替えと、複数人での編集で起きやすくなります。配信前に承認状態とサンプル送信を必ず確認する手順を運用ルールにしておくと、空欄と古い値のほとんどは配信前に止められます。トークンを直す場所(どのプログラムの、継承か上書きか)も、メール単位でメモに残しておくと、次に直す人が階層を間違えにくくなります。
自社のMarketoで、トークンの設定場所や承認フローが属人化していて確認手順が決まっていない場合は、現在の設定を一度棚卸しして、配信前チェックリストとして整備しておくことをおすすめします。
コメント