![](https://eguweb.jp/wp-content/uploads/2814894_s.jpg)
高機能なメルマガシステムを導入せずとも、工夫と気合次第で、無料のGASとGoogleスプレッドシートだけでステップメールシステムを作ることができそうな気がします。
ということで、今回はGoogleスプレッドシートとGASを使って「ステップメール」のシステムを作る方法です。
※素人が思い思いに作っていますので設計や用途などはくれぐれもご注意ください。
ステップメールの設計
要件は色々とあるかと思いますが、今回はシンプルに考えて設計してみたいと思います。
まずは「送信リスト」といったシートを準備します。
![](https://eguweb.jp/wp-content/uploads/3458b3072370c0ed6bf28200064ae9cc.jpg)
各列の内容
A列
顧客ごとのユニークなID(今回の内容では使う予定は無いですが、のちのち何かと紐付ける際のキーとして。)
![](https://eguweb.jp/wp-content/uploads/2c3bf879529f557d2b0eeffa77dcbe71.jpg)
B列
名前を登録します
![](https://eguweb.jp/wp-content/uploads/d20c450afae296ffe4b5e54ff20d4228.jpg)
C列
メールアドレスを登録します
![](https://eguweb.jp/wp-content/uploads/4cb9892d3b6a246dfcebbf57d34e2e73.jpg)
D列
「配信停止」が入っている場合は、メールの配信を止めるような処理をするために列を設置します。
![](https://eguweb.jp/wp-content/uploads/28885a1f3a15170d4326da9c0e737dce.jpg)
E列
送信数を自動入力します。F列以降の右側(F~)をcountifで合計します。
※後々変わるかもしれません。
![](https://eguweb.jp/wp-content/uploads/81a20838091c4508f05564e7bdb3af9d.jpg)
F列〜
送信したかどうか?の一覧です。1行目に送信回数(1の場合は初回送信、5の列の場合は5回送信〜など)が自動入力される予定です。
![](https://eguweb.jp/wp-content/uploads/7d9156fcd346ad366e2cd8b74b4f3108.jpg)
ステップメール仕掛け用のリストは、ひとまずこれで完成です。とてもシンプルですが、このリストだけでも運用は可能かと思います。
送信内容
次に、ステップメールをする送信内容のリストが必要です。とはいっても、これもシンプルな設計でいけるかと思います。
「送信内容」といったシートを準備して・・・
1行目=送信番号
2行目=件名
3行目=本文
![](https://eguweb.jp/wp-content/uploads/90459af15ff8938f3461a03ab4bab47d-1024x479.jpg)
これを右に並べていくようなイメージです。※内容は適当に作りました。
これで、送るNoに合わせて内容が変わっていくような仕掛けを作ることができます。
GASを作成
ここまで準備したらGAS(GoogleAppsScript)を立ち上げます。
ツールから「スクリプトエディタ」を開くとスクリプトエディタが開きます。
![](https://eguweb.jp/wp-content/uploads/1e7a352bf047259c61fe9bc6d40718d0.jpg)
まずは、データを取得するための変数を準備します。
function sendMail(){
const sheet_customer_list = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("送信リスト");
const sheet_content_list = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("送信内容");
}
const sheet_customer_list 顧客リスト
const sheet_content_list 送信内容のリスト
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("");
で、Googleスプレッドシートファイルの各シートにアクセスできます。
リストの最終行と最終列を取得します。
あとあと、リストの末尾までのループをさせるために使う(予定)です。
const lastRow = sheet_customer_list.getLastRow();
const lastCol = sheet_customer_list.getLastColumn();
まとめ
ひとまず、ここまでで下準備のような状態ができました!長くなりそうでしたので、つづきはまた。
ご参考ください😃