AMPscriptとは|データの呼び出しや条件分岐を分かりやすく解説
#Marketing Cloud #AMPscript #呼び出し #条件分岐
目次
- 1. AMPscriptの基礎知識とできること
- 1.1 AMPscriptとは何か?Salesforce Marketing Cloudに特化した言語
- 1.2 できること一覧|条件分岐・変数処理・データ取得など
- 1.3 AMPscriptとHTML・SSJSとの違い
- 2. データエクステンションと連携してできる3つの処理
- 2.1 ユーザー情報の取得(Lookup)
- 2.2 動的なコンテンツ出し分け(条件分岐)
- 2.3 データの追加・更新・削除(InsertDE、UpdateDEなど)
- 3. よく使うAMPscript関数とその使い方
- 3.1 条件分岐で使える関数(IF、ELSE、ISNULLなど)
- 3.2 データ取得や操作に使う関数(Lookup、InsertDE、UpdateDEなど)
- 3.3 日付や文字列の処理系関数(FormatDate、Sub stringなど)
- 4. 実践で役立つAMPscriptのコード例3選
- 4.1 氏名や属性をもとにメール本文を出し分ける
- 4.2 購買履歴からレコメンド商品を表示する
- 4.3 空の値・エラーを処理する基本の型
- 5. AMPscriptを使う際の注意点とエラー回避のコツ
- 5.1 デバッグ方法|メール本文での値出力とLogデータの活用
- 5.2 よくあるエラーとその原因
- 5.3 安全に使うためのベストプラクティス
- 6. まとめ
メール配信のパーソナライズを本格的に進めたい——そんなときに欠かせないのが、Salesforce Marketing Cloud専用のスクリプト言語「AMPscript」です。名前の差し込みや条件による出し分けなど、テンプレートの中身を柔軟に制御できることで、配信の精度と印象を大きく高めることができます。
この記事では、AMPscriptで“何ができて、どう使えばよいのか”を、実例とともにわかりやすく解説していきます。
AMPscriptの基礎知識とできること
「AMPscriptって聞いたことあるけど、よく分からない」――そんな方に向けて、このセクションではAMPscriptの概要と、何ができるのかを丁寧に解説します。
テンプレート制作やパーソナライズ配信に関わる人なら、一度は触れておきたい知識です。
AMPscriptとは何か?Salesforce Marketing Cloudに特化した言語
AMPscriptは、Salesforce Marketing Cloud(以下、MC)専用のスクリプト言語です。主にメールやLPなどのコンテンツを“動的に”制御するために使われます。
たとえば、メルマガで「山田さん、こんにちは」と名前を自動で差し込むのも、実はAMPscriptの仕事です。HTMLだけではできない「個別最適化」を、簡潔なコードで実現できるのが魅力です。
できること一覧|条件分岐・変数処理・データ取得など
AMPscriptでできる代表的な処理には、以下のようなものがあります。
- 条件に応じた表示内容の切り替え(IF分岐)
- ユーザーごとのデータ取得(Lookup)
- メール内での変数定義と利用
- データエクステンションへの書き込みや更新(InsertDE、UpdateDE)
つまり、「この人には商品Aを」「別の人には商品Bを」など、受信者ごとにまったく違うコンテンツを出し分けることができます。
テンプレートが一つでも、配信される内容はユーザーごとにまるで別物――そんな“魔法のような仕組み”を作れるのがAMPscriptです。
AMPscriptとHTML・SSJSとの違い
AMPscriptはHTMLの中に埋め込む形で使われますが、構造としてはまったく異なる役割を持っています。HTMLは「見た目」を作る言語ですが、AMPscriptは「中身を動かす」ための制御係といったところ。
また、Marketing CloudにはSSJS(Server Side JavaScript)もありますが、AMPscriptのほうがメール向けに最適化されており、非エンジニアでも取り組みやすいのが特長です。逆に、Webアプリ的な複雑な処理をしたい場合はSSJSのほうが向いていることもあります。
使い分けの基本としては、「メール本文での動的表示=AMPscript」「複雑な処理や外部連携=SSJS」という認識でまずは問題ありません。
データエクステンションと連携してできる3つの処理
AMPscriptの真価が発揮されるのが「データエクステンションとの連携」です。
メール配信のたびに、その人にぴったりの情報をリアルタイムで呼び出して反映できる――それがこの言語の強みです。ここでは、実務でよく使われる3つの代表的な処理を紹介します。
ユーザー情報の取得(Lookup)
1人ひとりに異なるメッセージを届けるには、まず「誰に向けた配信か」を把握する必要があります。AMPscriptを使えば、データエクステンションから名前や会員ランク、購買履歴といった情報を読み取り、その内容に応じた表現に変えることができます。
たとえば、「ゴールド会員だけに特別オファーを表示する」「登録地域によって案内する店舗を切り替える」といった処理が、テンプレート1つで実現可能になります。
動的なコンテンツ出し分け(条件分岐)
ユーザーごとに最適な内容を表示するには、条件による出し分けが欠かせません。性別や年齢、過去のアクションなどの条件に応じて、案内文やおすすめ商品を変更することができます。
このような出し分けを使えば、「誰にとっても同じ内容」だったメールが、「自分のために書かれたような内容」へと変わります。開封率やクリック率にも違いが出る、大事な工夫です。
データの追加・更新・削除(InsertDE、UpdateDEなど)
メール配信は一方通行ではありません。AMPscriptを使えば、ユーザーの行動に応じてデータを自動で更新したり、新しい情報を書き込んだりできます。
たとえば、キャンペーンの参加履歴を記録したり、開封済みのフラグを更新したりと、マーケティング施策を次の段階へつなげるための「行動ログ」を蓄積できます。これにより、次の配信や分析もより精度の高いものになります。
よく使うAMPscript関数とその使い方
AMPscriptには多くの関数がありますが、すべてを覚える必要はありません。よく使うものを中心に知っておけば、テンプレート制作の幅はぐっと広がります。
このセクションでは、特によく使われる関数の種類と、それぞれの活用イメージを紹介します。
条件分岐で使える関数(IF、ELSE、ISNULLなど)
配信先によってメッセージを切り替えたい時に使うのが「条件分岐系」の関数です。性別や会員ステータス、キャンペーンの参加状況など、ある条件に該当するかどうかで文面を変えることができます。
たとえば、「会員登録済みの人には特典を案内し、未登録の人には登録促進のメッセージを出す」といったケースが該当します。不要な情報を省き、必要な情報だけを伝えることで、読者の離脱も防げます。
データ取得や操作に使う関数(Lookup、InsertDE、UpdateDEなど)
データエクステンションとのやり取りに必要なのが、このカテゴリです。ユーザー情報を取得したり、新しい情報を書き込んだり、すでにあるデータを更新したりと、まるで“データベースの窓口”のような役割を果たします。
例えば、「直近の購入商品を表示する」「ユーザーがメールを開いた履歴を記録する」といった処理が可能になります。データを“見て終わり”にせず、次に活かす動線を作れる点が大きなメリットです。
日付や文字列の処理系関数(FormatDate、Sub stringなど)
ユーザーに表示する情報は、単純な数値や記号ではなく、「読みやすさ」や「表現の自然さ」も大切です。
たとえば、日付を「2024-01-01」ではなく「2024年1月1日」として表示したい場面や、名前の一部だけを表示したい場面などで活躍するのがこのカテゴリです。
こうした細かい処理を取り入れることで、より読みやすく、親しみやすいメッセージに仕上がります。メールの印象はちょっとした違いで大きく変わるもの。見落としがちなポイントですが、活用できると表現の質がぐっと上がります。
実践で役立つAMPscriptのコード例3選
AMPscriptの使い方は分かってきたけれど、実際にどんな場面で使われているのか気になる方も多いのではないでしょうか。
このセクションでは、現場でよく活用される3つの代表的なシーンを取り上げ、「どのようなニーズに応えられるか」を解説します。
氏名や属性をもとにメール本文を出し分ける
たとえば、受信者の名前を本文中に差し込んで、「〇〇さん、こんにちは」と呼びかけるだけでも、メールの印象はグッとパーソナルになります。また、性別や年齢といった属性に応じて、言葉遣いや商品の紹介内容を変えることも可能です。
こうした出し分けは、ユーザーに「自分のためのメールだ」と感じてもらうための基本的なアプローチです。特に開封率や反応率に直結するため、配信効果を高めたい施策では欠かせません。
購買履歴からレコメンド商品を表示する
最近購入した商品や、過去に興味を持ったカテゴリをもとに、おすすめ商品を表示することもAMPscriptの得意分野です。1回の配信で全ユーザーに同じ商品を案内するのではなく、「この人にはこの商品が合いそうだ」と判断して表示内容を変えることで、コンバージョン率の向上が期待できます。
「ただのメルマガ」から「役立つ提案ツール」へと進化させるカギが、このような動的なレコメンドの仕組みです。
空の値・エラーを処理する基本の型
すべてのユーザーが完璧なデータを持っているとは限りません。名前が未登録だったり、情報が欠けていたりすることもあります。そういった“穴”に対応できるよう、AMPscriptでは空の値やエラーが発生した場合の処理も柔軟に行えます。
「データがなければ別の文面を表示する」「エラーを防いで正常に配信できるようにする」といった工夫は、実運用ではとても重要です。テンプレートの安定性を保ち、ヒューマンエラーによるトラブルを未然に防ぐ仕組みとしても役立ちます。
AMPscriptを使う際の注意点とエラー回避のコツ
AMPscriptは便利な一方で、ちょっとしたミスが思わぬ表示崩れや誤送信につながることもあります。
安心して運用するために、事前に知っておきたいポイントや、よくある落とし穴をまとめました。
デバッグ方法|メール本文での値出力とLogデータの活用
AMPscriptの動作確認は、少し独特です。プレビュー機能を使っても、全ての処理が正しく反映されるとは限らず、値が「空白のまま表示されない」こともあります。
そんなときは、あえて本文中に変数の中身を一時的に表示させたり、ログ用のデータエクステンションに値を書き出したりして、挙動を確認するのが基本です。
これらの方法を知っておくだけで、原因不明の“空白表示”に悩まされる時間をぐっと減らすことができます。
よくあるエラーとその原因
AMPscriptを使っていてありがちなエラーには、次のようなものがあります。
- データエクステンションの列名を間違えて指定している
- 値の型(文字列・数値など)が合っていない
- 条件分岐の構文が不正になっている
- Null値の処理がされていない
これらは一見小さなミスですが、実際の配信で発生すると「空のメールが届いた」「エラー表示がそのまま表示された」といった問題につながることもあります。
事前にテスト配信を行い、想定通りに表示されるかどうかを必ずチェックしましょう。
安全に使うためのベストプラクティス
AMPscriptは、正しく使えば非常に強力なツールですが、慣れないうちは「やりすぎ」になってしまうことも。たとえば、条件分岐やネスト(入れ子)を過剰に使いすぎると、可読性が低下し、後からのメンテナンスが困難になります。
また、データを書き換える処理(InsertDEやUpdateDEなど)を使う場合は、必ずバックアップを取り、事前に検証環境での動作確認を行いましょう。複雑な処理ほど、万一のときの影響も大きくなります。
「誰が見ても分かりやすい」「後から見直しても安心できる」コードを書くことが、長く安全にAMPscriptを使い続けるためのコツです。
まとめ
AMPscriptは、Salesforce Marketing CloudにおけるメールやWebコンテンツのパーソナライズに欠かせないスクリプト言語です。基本的な構文や考え方さえつかめば、テンプレートの表現力は格段に広がります。
本記事では、AMPscriptの概要から、データエクステンションとの連携方法、よく使われる関数や実践的な活用例、注意すべきポイントまでを網羅的に紹介しました。
「名前を差し込む」「条件で表示を切り替える」といったシンプルな使い方でも、ユーザー体験は大きく変わります。
最初は難しく感じるかもしれませんが、実務で使える場面を想像しながら少しずつ試していけば、自然と手になじんでくるはずです。マーケティング施策を“もっと個別に、もっと効果的に”進化させる一歩として、ぜひAMPscriptを活用してみてください。
<Marketing Cloud>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら
弊社はプロセスコンサルティングを行っている会社です。
お気軽にお問い合わせください!
>>お問い合わせはこちら