こんにちは!非エンジニアでウェブマーケターの木庭です @koba_tokyodays !
例えば昨日の自社のサービスに契約した方にアンケートやサンキューメールを送りたい、申込み件数を簡単に把握したい、というようなときに使えるGAS x スプレッドシートで作るメアド一括取得ツールの作り方をご紹介します!
この記事は以下の方向けの内容です。
- エンジニアに頼まずにあれこれしたい
- 開発とかしないでコピペでサクッとやりたい
- 各ファネルのユーザー情報をデータベースから拾って料理するのしんどい
今回の記事の内容と以下の記事の内容を組み合わせると、メールアドレスを一括取得してBccメールで一気にクロスマーケティングや追いメールなどができます!
-
-
参考Google Apps ScriptとスプレッドシートでBcc一括送信ツールを作ってみよう!
こんにちは!非エンジニアでウェブマーケターの木庭です @koba_tokyodays ! 例えば申込者や契約者の方にアンケートや何かしらのメールを送りたい、でも開発とか工数かけられないという方向けにス ...
続きを見る
スプレッドシートを用意する
まっさらなシートを用意してもらえればOKです。
自動送信スクリプトを設定する
スプレッドシート>ツール>スクリプトエディタを選択してください。
【コピペ用】メール一括取得用スクリプト
function xxx() { // 要空白のスプレッドシートで実行 ////// // change your condition const title_s = "xx"// 取得したいメールのタイトルを正しく記載する const date_s = "after:2020/3/1 before:2020/4/30" // beforeはその日を含まない。 format 2020/m/d const from_s = "xx@xx" // 送信元のメールアドレス const LIMIT_MAX_SEARCH = 1000 // 1日5万件の制限あり ////// const title_s2 = "subject:(" + title_s + ")" const from_s2 = "from: " + from_s const search_condition = from_s2 + " " + date_s + " " + title_s2 var sheet = SpreadsheetApp.getActiveSheet(); var n = 0 const GMAIL_MAX_GET = 500 messages_out = [['to','title']] console.log("L17") do { // GmailApp.search(search_condition, start_position, max=500) var threads = GmailApp.search(search_condition, n, GMAIL_MAX_GET) console.log("L21") for (var t in threads) { // GAS has bug of using `const` and `let` inside for-loop. only `var` is acceptable. var thread = threads[t] var msgs = thread.getMessages() console.log("L26") for (var m in msgs) { var msg = msgs[m] var to_ = msg.getTo() var title_ = msg.getSubject() messages_out.push([to_, title_]) } } n = n + GMAIL_MAX_GET } while (threads.length > 0 && n <= LIMIT_MAX_SEARCH) if (messages_out.length === 0) return; sheet.getRange('A1:B' + messages_out.length).setValues(messages_out) }
要修正箇所
- function xxx()のxxxは好きに書いてください。
- const title_s = "xx" > xxは取得したいメールのタイトルを正しく記載してください。
- const date_s = "after:2020/3/1 before:2020/4/30" >取得したい期間を設定してください。beforeはその日を含みません。
- const from_s = "xx@xx" > 送信元のメールアドレスを記載してください。
挙動テスト
自分がAmazonで購入し、Amazonから自分に届いたメールを一括取得します。
条件
- メールタイトル:Amazon.co.jp ご注文の確認
- 期間:after:2020/3/1 before:2020/6/29
- 送信元:digital-no-reply@amazon.co.jp
※今回は個人メアドで行うため、toはすべて自分宛てになりますが、自社からユーザーに送信しているメールの場合は、スプレッドシートにユーザーのメアドが記載されます。
※メールタイトルは正しく記載しない場合、記載内容が含まれているタイトルをすべて回収するので、確実に欲しいメールについては正確な内容を記載してください。
スクリプトを設定
設定後、スクリプト画面内の▶から実行します。
許可を求められるのでOKを進めていきます。
※まれに安全ではないページと表示されますが、左下の詳細>ページに進むを選択してください。
スクリプトが正しく走れば、以下の状態に戻ります。
スプレッドシートを確認する
正しく取得できました。
終わりに
変更する場所は3行のみという簡単スクリプトです。
メアドをひとつひとつコピペしてると手間もかかるし、時間の無駄ですよね。
僕は以下の記事の内容と組み合わせて毎日ユーザーアンケートを送ったり、今月の申込者数などを計測に使っています。
是非使ってみてください!
-
-
参考Google Apps ScriptとスプレッドシートでBcc一括送信ツールを作ってみよう!
こんにちは!非エンジニアでウェブマーケターの木庭です @koba_tokyodays ! 例えば申込者や契約者の方にアンケートや何かしらのメールを送りたい、でも開発とか工数かけられないという方向けにス ...
続きを見る