AMPscript 201

このシナリオには、AMPscript の使用に関する次の情報が含まれます。

  • if/else ステートメントを使用した顧客のプリファードネームの挿入
  • 顧客のステータスに基づいたメールへの動的コンテンツの挿入
  • 顧客の郵便番号に基づいた配送予定日の挿入

次の AMPscript は、メールメッセージ全体のコンテンツを提供します。

1%%[/* 201 */
2Var @memid, @fname, @lname, @prefname, @address, @city, @state, @zip, @mempref, @plat, @ship
3
4Set @memid = MemberID
5Set @fname = FirstName
6Set @lname = LastName
7Set @prefname = PrefName
8Set @address = Address
9Set @zip = Zip
10Set @city = Lookup("ShipTimes","city","zip",@zip)
11Set @state = Lookup("ShipTimes","state","zip",@zip)
12Set @mempref = MemPref
13Set @plat = Plat
14
15/* 201 */ ]%%%%[ if not empty(@prefname) then ]%%%%= v(@prefname) =%%%%[ else ]%%%%= v(@fname) =%%%%[ endif
16 ]%%, below are your account detailsName
17
18First Name:%%= v(@fname) =%%Last Name:%%= v(@lname) =%%
19
20%%[ if not Empty(@prefname) then ]%%Preferred Name:%%= v(@prefname) =%%
21
22%%[ endif ]%%Address
23
24Address:%%= v(@address) =%%City:%%= v(@city) =%%
25State:%%= v(@state) =%%Zip:%%= v(@zip) =%%
26
27Member Preferences
28
29Shopping Preference:%%= v(@mempref) =%%Platinum Member:%%[ if @plat == "N" then ]%%
30
31%%= RedirectTo(Concat('http://example.com?s=',_subscriberkey)) =%%
32
33Sign-Up %%[ else ]%%%%= v(@plat) =%%%%[ endif ]%%
34This code is similar to the example shown in AMPscript 101, but notice a few important differences that add more functionality to the email sends.

Lookup() 関数 

AMPscript のこのセクションは、ShipTimes データエクステンションの情報を取得し、2 つの変数 (@city と @state) の値を設定します。

1Set @city = Lookup("ShipTimes","city","zip",@zip)
2Set @state = Lookup("ShipTimes","state","zip",@zip)

Lookup() 関数は ShipTimes データエクステンションを調べて、@zip 変数に含まれる郵便番号値に対応する市区町村と都道府県を検索します。その後、該当する市区町村または都道府県を変数に割り当てます。

プリファードネームの if/else ステートメント 

[プリファードネーム] フィールドには、2 つの異なる if/else ステートメントが使用されます。最初のステートメントは、このフィールドがメールにまったく表示されないかどうかを決定します。プリファードネームが存在しない場合、メッセージにフィールドは含まれません。データエクステンションにプリファードネームが含まれる場合、メールメッセージにはフィールドとプリファードネームの両方が含まれます。

1%%[ if not empty(@prefname) then ]%%%%= v(@prefname) =%%%%[ else ]%%%%= v(@fname) =%%%%[ endif]%%

AMPscript のこのセクションでは、Marketing Cloud アプリケーションは送信可能データエクステンションから購読者のプリファードネームを挿入します (存在する場合)。データエクステンションに値が含まれない場合は、デフォルトで顧客の名が設定されます。If ステートメントはプリファードネームを検索し、存在する場合は挿入します。存在しない場合、else ステートメントで名を挿入します。

1**%%[ if not empty(@prefname) then ]%%%%= v(@prefname) =%%%%[ else ]%%%%= v(@fname) =%%%%[ endif ]%%**, below are your account details

Members データエクステンションのスクリーンショット

Christa Hirsch の場合、メール送信は上記のデータエクステンションを参照し、Chris のプリファードネームをメールの挨拶に挿入します。

Christa Hirsch へのメールのスクリーンショット

Shea Winslow の場合、プリファードネーム値が存在しないため、メールの挨拶はデフォルトで名に設定されます。

Shea Winslow へのメールのスクリーンショット

プラチナステータスの if/else ステートメント 

次に示す AMPscript のこのセクションでは、アプリケーションは購読者のステータスがプラチナメンバーかどうかを判断します。購読者がプラチナプログラムにまだ参加していない場合、メールには購読者に個別の Web ページでのサインアップを促すリンクが含まれます。メールに大文字の Y を表示することで、プラチナメンバーであることを示します。

1Platinum Member: <strong style="color: #000;">%%[ if @plat == "N" then ]%%<a href="%%= RedirectTo(Concat('http://example.com?s=',_subscriberkey)) =%%" alias="Platinum Sign-Up">Sign-Up</a>%%[ else ]%%%%= v(@plat) =%%%%[ endif ]%%</strong>

AMPscript [ if @plat == “N” then ]%% %%= RedirectTo(Concat(‘http://example.com?s=’,_subscriberkey)) は、変数の値が N の場合にのみリンクを表示します。それ以外の場合は、メールに変数 v(@plat) の値が表示されます。

前のスクリーンショットでは、Shea Winslow に送信されたメールには、プラチナメンバーではないためリンクが表示されています。Christa Hirsch に送信されたメールには、プラチナメンバーであるためフィールドに Y が表示されています。