Home » Column » Adobe Experience Cloud » Adobe Launchのデータエレメントタイプ JavaScript Toolsの紹介 Mar 30 2023 Off Adobe Launchのデータエレメントタイプ JavaScript Toolsの紹介 はじめに 今回はAdobe Launchのデータエレメントタイプ「JavaScript Tools」を紹介したいと思います。 JavaScript Toolsとは 平たく言ってしまうと、文字列または配列型の値を返すデータエレメントについて、それを調整する機能を持つデータエレメントです。 例:JavaScript Toolsの画面 カスタムコードが主体の運用だとほぼ馴染みが出づらいかもしれません。ただし、ページのデータレイヤーやJavaScript変数、DOM要素などをよく用いている運用だと、ちょっとした値の修正元となる値は既存のデータエレメントで取れているというところで出番もありそうでしたので紹介してみたいと思います。 主な機能の紹介 本ページ作成時点では12種類ほどありますが、そのうち利用場面が多そうなものに絞って取り上げてみたいと思います。 ・Simple Replace 所定の文字列を別の文字列に置換します。 例えば、誤った綴りのデータを正しいものに書き換える、といった利用方法が考えられます。例:SpecailContentsPageをSpecialContentsPageに書き換える ・Regex Replace こちらは正規表現での文字列置換を設定できます。以下の例は「article:published_time」(値の例:2023-03-15T03:10:23+00:00)より太字の時刻部分を抜き出す例となります。 ただし、注意点として、本コラム作成時点では、Replacement Valueが未指定だと空文字ではなくundefinedという文字列に置換されているようです。 空文字へ置換したい場合には以下のような工夫が必要となります。 Replacement Valueに空文字を返すデータ要素を指定する 実は本例のスクリーンショットでは、わかりづらいのですが、Replacement Valueに半角スペースを設定しています。 本例のように前後の不要な文字列を削除したいケースだと、不要文字列をまず半角スペースに置換し、さらにそれをClean text設定で削除するというやり方です。 関連の設定は以下になります。①Replacement Expressionで取り出す文字列の前後を示す正規表現を入力②Replacement Valueに半角スペースを設定③左のClean textをチェックONとする(チェックONだと文字列の前後の空白文字を削除します) 順を追った形では以下となります。「」は値の変化がわかりやすくなるため付与しています①で取り出したい文字列以外の前後(不要箇所:赤字)を特定 「2023-03-15T03:10:23+00:00」②で①を半角スペースに置換 「 03:10:23 」③で②で得られた値の前後のスペースを削除 「 03:10:23 」 ・Extract Value with Regex こちらは正規表現にマッチする部分の文字列を抽出します。例えば、本サイトのコラムページではメタタグで公開日時が埋め込まれていますが、このcontent値をデータエレメント「article:published_time」で取っているとします。 このとき、公開日だけの変数も追加しよう、という要件が出たとします。公開日時はすでにデータエレメント「article:published_time」があるのでその先頭10桁を取れればよいので例えば以下のJavascript Toolsデータエレメントが利用できます。 注意点としては指定した正規表現にマッチした全体の値が返ってくることです。 そのため、抽出したい部分のみを記述することが難しい場合にはカスタムコードで対応する、でよいかと考えます。 ・Join Array 所定のセパレータで配列を連結した文字列を返します。例えば、データ要素pagectegory_arrayでページのカテゴリが配列(例:[’Adobe Analytics’, ‘Adobe Launch’])で取得できるとします。これを|(パイプ)で区切った1文字を取得したい、という場合の例はこちらになります。 Adobe Analyticsのリストpropやリスト変数向けはこういったフォーマットのデータとなるため、ページのデータレイヤーなどで配列で定義されているケースではカスタムコードを使わずに対応することができます。 注意点として、例えば要素の値が配列だとカンマ区切りの連結値([“a”,”b”,”c”]だとa,b,c)、オブジェクトだと[object Object]となります。おそらくString関数を適用している挙動だと考えますが、予期しない値が混ざるようなケースがないか元の配列の定義や運用は事前に確認することをおすすめします。 まとめ 今回はAdobe Launchのデータエレメントタイプ Javascript Toolsについて取り上げてみました。カスタムコードに比べると込み入った要件ではなかなか利用機会がありませんが、該当する要件であればわずかな設定で代替えできる点は有用かと思います。ちょっとした追加対応が生じた際に少し見てみるとなにか役立つかもしれません。 Implement DigitalではAdobe Launchの導入、運用を支援するサービスを提供しています。ご興味がありましたらお問い合わせください。 この記事をシェアする : Post navigation Previous PostPrevious Adobe Target のadobe.target.trackEvent、adobe.target.getOffer、adobe.target.getOffersについてNext PostNext Adobe Analyticsのスクリプトがブロックされる場合のコンテンツセキュリティポリシー(CSP)の設定