Skip to main content

AMPscript の説明

学習の目的

この単元を完了すると、次のことができるようになります。

  • AMPscript の基本事項と構文を確認する。
  • インライン AMPscript と AMPscript ブロックを作成する。
  • パーソナライズ文字列を挿入する。
  • AMPscript の関数と演算子を実装する。
  • AMPscript の例やベストプラクティスに従う。

開発者であれば、数種類の言語を習得されていると思います。また、開発者であれば、ある言語のすべてをたった 1 つのドキュメントで学ぶことなど不可能であることもご存じだと思います。このモジュールでは AMPscript の基本について説明し、必要に応じて各自が詳細を確認できるリソースをご紹介します。

AMPscript の基本事項と構文

最も基本的なレベルにおいて、AMPscript コールは、Marketing Cloud Engagement またはデータエクステンションから要求されるデータのプレースホルダーとして機能します。これらのコールは、次の 3 つの基本的な形式のいずれかで表示できます。

  • インライン AMPscript: %%=LOWERCASE(Name)=%%
  • AMPscript ブロック: %%[ LOWERCASE(Name) ]%%
  • AMPscript タグ:
<script runat=server language=ampscript>
   Lowercase(Name)
</script>

AMPscript は定数値、属性やデータエクステンションから取り込んだ値、キーワードを処理できます。次の例は、3 つの言語要素のどれでも同じ結果になることを示しています。

  • 'example@salesforce.com’ (文字列定数が引用符で囲まれています)
  • SubscriberEmail (この文字列はデータエクステンションから SubscriberEmail 値を返します。この場合は example@salesforce.com です)
  • @EmailAddress (この変数は、AMPscript ブロックで以前に割り当てられた値を保持します。この場合は example@salesforce.com になります)
メモ

各自のメールアドレスまたは別の有効なアドレスを使用してテストします。

AMPscript では、IF、ELSEIF、ELSE、ENDIF など、おそらく開発者であれば使い慣れている用語を使用します。次の例で、AMPscript でこれらの条件をどのように実装するのかを見てください。 

<script runat=server language=ampscript>
   IF @region == '1' THEN
      SET @greeting = 'Bonjour!'
   ELSEIF @region == '2' THEN
      SET @greeting = 'Hola!'
   ELSE
      SET @greeting = 'Hi!'
   ENDIF
</script>

評価すべきすべての条件に必要な数の ELSEIF ステートメントを含めることができます。

また、AMPscript に FOR ループを設定して、コンテンツを必要なだけ繰り返すことが可能です。次の例は、含まれるロールの数に応じて名の値を設定します。

%%[FOR @Position = '1' TO @Position = @rowCount DO ]%%
   SET @FirstName = FirstName
%%[NEXT @Position]%%

そしてもちろん、SET を使用して AMPscript に変数 (VAR として宣言) を割り当てることができます。

%%[ VAR @text
    SET @text = "Hello, world!"
    Output(v(@text))]%%

Output() 関数によって v() に含まれる変数の値が表示されます。

メールメッセージの場合は、AMPscript が最初にメッセージの HTML 本文 (プリヘッダーを含む) を処理し、次にテキスト本文を処理します。件名行は最後に処理されます。

AMPscript 関数

AMPscript は関数を使用します。膨大な数の関数です。そのため、関数がいくつかのカテゴリに分類されています。

AMPscript 関数
説明
API
SOAP API のインタラクションを作成する。
連絡先
Marketing Cloud Engagement の連絡先情報を変更する。
コンテンツ
Marketing Cloud Engagement のコンテンツ (メールメッセージのテキストや画像など) を変更する。
データエクステンション
データエクステンションのデータを変更する。
日時
Marketing Cloud Engagement の日時情報を変更する。
暗号化
Marketing Cloud Engagement データを暗号化/復号化する。
HTTP
Marketing Cloud Engagement の HTTP 情報を取得、転記、変更する。
算術
基本的な算術関数を実行する。
Microsoft Dynamics CRM
Microsoft Dynamics CRM データを操作する。
Salesforce
Marketing Cloud Engagement で Sales Cloud データを操作する。
サイト
CloudPages サイトを操作する。
ソーシャル
Email Studio のソーシャル転送機能を操作する。
文字列
Marketing Cloud Engagement の文字列情報を変更する。
ユーティリティ
Marketing Cloud Engagement データの型を返して評価する。

パーソナライズ文字列

AMPscript には、コンテンツ、メールアドレス、動的に値を割り当てる必要がある他の領域に情報を取り込むための簡単な文字列がいくつか用意されています。このパーソナライズ文字列は、送信に使用される Email Studio のリストや送信可能データエクステンションにあるデータを返します。AMPscript 関数を使用して、データエクステンションのコンテンツを他の Marketing Cloud Engagement 関数に返すことができます。

インプレッショントラッキング

AMPscript では、メールメッセージのどのセクションによって送信のパフォーマンスが向上するかを判断できます。文字の羅列だけのメールよりも、猫の写真を交えたメールのほうが注意を引くことを私たちは直感的に理解していますが、その差を統計で証明できるようになりました! ContentArea() 関数または ContentAreaByName() 関数を使用して取り込んだコンテンツの一部を BeginImpressionRegion() 関数と EndImpressionRegion() 関数で囲み、インプレッショントラッキングレポートを使用すると、猫の写真によって評価がどの程度上昇したかを確認できます。

AMPscript でできること

AMPscript の関数を使用して、Marketing Cloud Engagement でさまざまなタスクを実行することができます。とは言うものの、AMPscript の一般的な用途は、Lookup()LookupRow() のようなコールを使用して、データエクステンションからデータを取り込むことです。これらの関数は、指定したデータエクステンションでデータを検索し、関数に含めた値に基づいてフィールドを返します。次の例は、メンバー ID で識別される連絡先が行った購入を検索し、購入情報を記載した行を返します。

%%[ VAR @row
    SET @row = LookupRows("Purchases","MemberID",@memID)]%%

次の例は、キー値を使用して、メールメッセージ内の Content Builder から取り込まれたコンテンツ領域を取得する方法を示しています。

%%=ContentBlockbyKey("myContentBlock")=%%

この情報を取得したら、各自の目的を達成するためにさまざまな変更や変換を実行できます。

次は、サーバーサイド JavaScript (SSJS) を詳しく見ていきます。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる