【Salesforce】項目数が多い時に便利!Marketing Cloudでのデータエクステンションをスクリプトで作成する方法
はじめに
はじめまして。CREFILでコンサルタントをしている佐藤と申します。
私はこれまで、SalesforceのMarketing Cloudを使用した開発プロジェクトに数多く携わってきました。
そのため、Marketing Cloudで開発する際の便利な方法・引っかかったポイントなど、Marketing Cloud関連の情報を発信していきたいと考えています。
少しでも皆様のお役に立てれば幸いです。
今回は「Automation Studioのスクリプトアクティビティで、データエクステンションを簡単に作成する方法」をご紹介します。
データエクステンションとは?
データエクステンション(以下、DE)とは、簡単にいうと顧客のデータを格納するMarketing Cloudのデータテーブルのことです。
顧客に合わせたメッセージを配信するためにも、MAツールを活用する際には欠かせないものです。
作成方法は簡単で「Contact Builder」 または 「Email Studio」 から必要事項を設定して新規作成することが出来ます。
ただし、DEの項目(フィールド)は1項目ずつ「項目名」「データ型」「データの長さ」等を入力して設定することになります。
そのため、作成する項目数が多い場合は設定・確認に時間がかかります。
また、DE作成後に必要項目が漏れていた場合、間に項目を追加することができません。
項目の順番に決まりがある場合は、追加したい場所以降の項目を削除して再度追加していく、またはDE再作成となってしまいます。
時には「完了」をクリックした瞬間にエラーになって消えてしまうこともあります。(小まめに保存していくと良いです。)
参考:Contact Builder でのデータエクステンションの作成
Email Studio でのデータエクステンションの作成
ちょっと面倒だな。どうにか簡単に進められないかな。とお悩みの方は、
是非今回ご紹介する方法をお試しいただければと思います!
便利なDE作成手順をご紹介!
前置きが長くなりましたが、早速作成方法についてご説明します。
1.スクリプトを作成する
ここでいうスクリプトとは、Server-Side JavaScript(SSJS)のことで、サーバー上で動作する JavaScript のことです。
この言語がMarketing Cloud のアクティビティで機能するようにカスタマイズされており、データエクステンションの作成や情報のインポート、次週に誕生日を迎える顧客の絞り込みが出来ます。
参考:TRAILHEAD サーバーサイド JavaScript について
データエクステンション関数
とは言え、スクリプト自体も1つ1つ記述していくのは大変です。
まずは以下のExcelテンプレートをダウンロードして、作成したいDEのスクリプトを作成します。
1-1.「DE」Sheetに必要な情報を入力する
DE名:新規作成したいDEの名前を入力
フィールド名:項目名(フィールド名)を入力
データの種類:G列 を参考に、データの種類を入力
長さ:H列を参考に長さを入力
プライマリーキー:プライマリーキーとなるものには「1」を入力
Not_Null:レコードを追加・インポートする際に値の指定が必須の項目には「1」を入力
参考:Email Studio のデータエクステンションのデータ型
1-2.「script_code」Sheetに入力した内容が反映されていることを確認する
「DE」Sheetに入力した内容が数式で反映される
必要な情報が反映されていることを確認
2.オートメーションを作成する
オートメーションとは、メールの送信やデータの加工、データのインポートなどを自動実行することが出来るMarketing Cloud アプリケーションです。
Marketing Cloudの「Automation Studio」でトリガーやスケジュール、実行ステップを作成することが出来ます。
DE作成用のオートメーションは1つ作成しておけば、後はスクリプトだけ編集して使い回すことが出来ます。
2-1.Marketing Cloudにて「Automation Studio」を開く
TOP画面「すべてのアプリ」から「Journey Builder」→「Automation Studio」を開く
開いた「概要」ページから「新しいオートメーション」をクリックする
2-2.オートメーションのワークフローを設定する
無題のオートメーション:任意のオートメーション名を入力
開始ソース:「Schedule」をドラッグアンドドロップする
ステップ1:「スクリプト」アクティビティをドラッグアンドドロップして「選択」をクリックする
「新しいスクリプトアクティビティの作成」をクリックする
2-3.作成したスクリプトを貼り付ける
名前:任意のスクリプト名を入力
説明:必要に応じて入力
サーバーサイド JavaScript:「script_tnp」Sheetの内容を貼り付ける
4. 「%%code%%」部分に「script_code」Sheetに反映された内容を貼り付ける
5. 「構文の検証」をクリックして構文に問題がなければ「次へ」をクリック
6. 「サマリー」画面で全体を確認してから「終了」をクリックする
※今後、このオートメーションを使い回す際には、「%%code%%」部分だけ編集していくことになります。
2-4.作成したオートメーションを実行する
「保存」をクリック後「一回実行」をクリックする
実行するアクティビティをチェックして「実行」をクリックする
「一回実行の確認」が表示されるので「今すぐ実行」をクリックする
4. 「アクティビティ」をクリックして実行状況を確認する
5. なかなか更新されなかったら右端の「更新マーク」をクリックする
6. 実行状況が「完了」になったら終了
3.作成したDEを確認する
TOP画面「すべてのアプリ」から「Audience Builder」→「Contact Builder」を開く
開いたページから「データエクステンション」をクリックする
「データエクステンション」フォルダ直下に作成されたDEの名前をクリックする
4. 「属性」にて項目が正しく作成されたことを確認する
5. データエクステンションの格納場所など、プロパティを編集して完了
※以下、Email Studioからデータエクステンションを確認した場合(参考)
おわりに
今回のご紹介は以上となります。
先に少し記載した通り、1つオートメーションを作成してしまえば「スクリプトアクティビティ」部分を編集して使い回すことが出来るので、とても便利です。
また、テーブル定義書等を作成する際には、Excelテンプレートに貼り付けられる形にしておくと、沢山のDEを作成する場合でもミスなく素早く作成することが出来ます。
まだまだ使い切れていないMarketing Cloudの機能は沢山あると思いますので、これからも実践を通して学びながら発信していきます。