見出し画像

【第186回】 AMPscript を使ってメールに「日付」を表示する方法

Salesforce Marketing Cloud のメール送信において、AMPscript を使った日付の出し方を知っておくと便利です。代表的な例を以下にまとめました。

GetSendTime() 版

■ 出力:○ 年 ○ 月 ○ 日(例:2024 年 9 月 6 日)

%%=Format(SystemDateToLocalDate(GetSendTime()),'yyyy年MMMM%d日','Date','ja-JP')=%%

■ 出力: ○ 年(例:2024 年)← 年だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'yyyy年','Date')=%%

■ 出力:○(例:2024)← 年だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'yyyy','Date')=%%

■ 出力:○ 月(例:9 月)← 月だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'MMMM','Date','ja-JP')=%%

■ 出力:○(例:9)← 月だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'%M','Date')=%%

■ 出力:○(例:6日)← 日だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'%d日','Date')=%%

■ 出力:○(例:6)← 日だけを表示

%%=Format(SystemDateToLocalDate(GetSendTime()),'%d','Date')=%%

■ 出力:○ / ○ / ○(例:2024 / 9 / 6)

%%=Format(SystemDateToLocalDate(GetSendTime()),'yyyy/M/d','Date')=%%

■ 出力:○ / ○ / ○(例:2024 / 09 / 06)

%%=Format(SystemDateToLocalDate(GetSendTime()),'yyyy/MM/dd','Date')=%%

Now() 版

■ 出力:○ 年 ○ 月 ○ 日(例:2024 年 9 月 6 日)

%%=Format(SystemDateToLocalDate(Now()),'yyyy年MMMM%d日','Date','ja-JP')=%%

■ 出力: ○ 年(例:2024 年)← 年だけを表示

%%=Format(SystemDateToLocalDate(Now()),'yyyy年','Date')=%%

■ 出力:○(例:2024)← 年だけを表示

%%=Format(SystemDateToLocalDate(Now()),'yyyy','Date')=%%

■ 出力:○ 月(例:9 月)← 月だけを表示

%%=Format(SystemDateToLocalDate(Now()),'MMMM','Date','ja-JP')=%%

■ 出力:○(例:9)← 月だけを表示

%%=Format(SystemDateToLocalDate(Now()),'%M','Date')=%%

■ 出力:○(例:6日)← 日だけを表示

%%=Format(SystemDateToLocalDate(Now()),'%d日','Date')=%%

■ 出力:○(例:6)← 日だけを表示

%%=Format(SystemDateToLocalDate(Now()),'%d','Date')=%%

■ 出力:○ / ○ / ○(例:2024 / 9 / 6)

%%=Format(SystemDateToLocalDate(Now()),'yyyy/M/d','Date')=%%

■ 出力:○ / ○ / ○(例:2024 / 09 / 06)

%%=Format(SystemDateToLocalDate(Now()),'yyyy/MM/dd','Date')=%%

GetSendTime() と Now() の使い分けについて、以下にまとめてみます。

以下がそれぞれの定義です。

■ GetSendTime() :個別の購読者の送信完了時刻
■ Now():現在のシステム時刻

基本的には、どちらを使っても問題ない認識ですが、VAWP(メールを Web ページとして表示)のリンクを踏んだ場合に状況が変わってきます

メール本文のデータは送信時にレンダリングされるため静的ですが、VAWP のリンクは毎回ページが開かれるたびに最新のデータを取得し、再度レンダリングが行われます。この違いが、GetSendTime()Now() の挙動に影響を与えます。

  • GetSendTime():メール送信時の日時が固定されて表示されます。例えば、2024 年 12 月 25 日に送信したメールは、VAWP で表示してもその日付のままです。

  • Now():ページを開いた時点の日時が表示されます。2024 年 12 月 25 日に送信されたクリスマスメールでも、2025 年 1 月 1 日に VAWP リンクを開けば、その時点の 2025 年 1 月 1 日が表示されます。

どちらも時刻を取得する関数ですが、上記の点には注意して下さい。


参考:AMPscript を使ってメールに「曜日」を表示する方法

今回は以上です。


次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら

この記事が気に入ったらサポートをしてみませんか?