Google Script là một công cụ mạnh mẽ mà bạn có thể sử dụng để tự động hóa các công cụ để tăng hiệu quả làm việc khác của Google như Sheets và Docs. Hôm nay mình sẽ hướng dẫn bạn sử dụng Google Sheets và Script để tạo ra một công cụ gửi Gửi email marketing bằng Gmail mạnh mẽ và đặc biệt là 100% miễn phí, 100% email sẽ vào mail inbox.
Chỉ với một chút nỗ lực tìm hiểu cùng hướng dẫn này, bạn sẽ không bao giờ phải ngồi hàng giờ để gửi email cho khách hàng theo cách thủ công nữa. Hãy để Google Script hoạt động như trợ lý cá nhân của riêng bạn, thực hiện tất cả công việc cho bạn.
Có nên gửi email marketing bằng Gmail ?
Tuy hòm Gmail là hòm mail cá nhân không cho phép gửi số lượng lớn nhưng có rất nhiều người đã khai thác hòm Gmail để gửi email marketing một cách hiệu quả. Bởi tính đơn giản và miễn phí của hòm mail này, nên ai cũng có thể lập được 1 địa chỉ chỉ trong vài phút.
- Gmail cho phép gửi số lượng thư nhiều hơn hẳn mail của các nhà cung cấp mail khác như Yahoo, Hotmail. Trong khi Hotmail chỉ cho gửi 100 mail / ngày thì Gmail cho gửi tới 500 mail / ngày.
- Gmail gửi dễ dàng vào inbox hơn. Qua thực tế cho thấy hòm mail của Yahoo gửi hay bị vào spam và hay bị thất lạc email (người nhận không nhận được). Còn mail của Gmail thì gần như không bao giờ thư bị thất lạc.
- Gmail có độ ổn định cao và nhiều người sử dụng nên việc trung chuyển cùng hệ thống giữa các địa chỉ Gmail với nhau sẽ diễn ra tốt hơn. Từ đó đảm bảo được mail của bạn sẽ đến được tay người nhận tốt hơn.
Thiết lập Google Sheets để Gửi email marketing bằng Gmail
Cơ chế hoạt động mà bạn hiểu đơn giản như sau, chúng ta có một file trang tính (Google Sheet) được thiết lập sẵn các đoạn mã code trong Google Script để tạo chức năng lấy thông tin và gửi. Trang tính này sẽ lấy Email nháp mới nhất của bạn và sử dụng thông tin từ các trường bạn cung cấp sẵn trong trang tính để điều chỉnh thông tin được thiết lập cũng như gửi email theo tên, mail đó. Dưới đây, chúng ta sẽ từng bước tìm hiểu cách thiết lập hoàn chỉnh.
Bước đầu tiên, bạn tạo một trang tính mới, trong trang tính này bạn tạo các trường nội dung bao gồm First name, Last name, Email, Status (tùy vào nhu cầu nhé, nhưng cơ bản thì các trường này là đủ rồi, bạn nào có nhu cầu cao hơn thì tìm hiểu thêm).
Mình sẽ nói sơ qua về các trường này dùng để làm gì trước khi đi tiếp đến bước tiếp theo. Thì 3 trường First name, Last name, Email là 3 trường mà chương trình sẽ lấy thông tin này để điền vào thư nháp của bạn để gửi theo danh sách bạn thiết lập. Thông thường First name bạn sẽ sử dụng để xưng anh/chị gì đó, còn Last name bạn sẽ dùng để xưng tên khách hàng, trường Email là địa chỉ mail người nhận tương ứng. Với 3 trường này, bạn sẽ nhập thông tin vào, với trường Status thì bạn sẽ không nhập gì ở đây nhé, trường này là trường sẽ trả lại thông báo nếu email đã gửi thành công. Bây giờ, chúng ta cùng đi đến bước tiếp theo nào.
Bước tiếp đến, trong trang tính vừa tạo ở trên bạn tạo một đoạn code trong trình Gửi email từ Google Sheet, bạn đến menu Công cụ >> Trình chỉnh sửa tệp lệnh. Trình chỉnh sửa tệp lệnh là nơi để bạn lưu trữ các functions phục vụ cho chức năng gửi email này.
Đoạn code mình sẽ để ở dưới bạn chỉ cần copy và dán vào để sử dụng. Bạn nào muốn nếu hiểu về lập trình có thể hiểu ngay các dòng mã code này và rất dễ để tùy biến thêm. Mình cũng sẽ nói sơ qua chức năng của các dòng code ở phần phía dưới bạn có thể xem thêm.
Sau khi lưu đoạn mã code này lại trong trình chỉnh sửa tệp lệnh, bạn khởi chạy đoạn mã trong này để cấp quyền truy cập vào tài khoản Gmail của bạn. Dù nằm trong Google Scripts và Google trang tính của Google tuy nhiên, đoạn mã code riêng mà chúng ta thêm vào nó giống như một ứng dụng bên thứ ba do đó cần sự cho phép mới có thể sử dụng.
Sau khi chạy đoạn mã code lần đầu bạn sẽ thấy xuất hiện trên menu trang tính này một menu và 1 nút mới. Đây là nút bạn dùng để chạy dòng lệnh gửi mail sau khi đã cung cấp danh sách cần gửi.
Đây là đoạn code bạn cần thêm vào.
function onOpen () {
var ui = SpreadsheetApp.getUi()
ui.createMenu(‘Gmail Auto’)
.addItem(‘Bắt đầu gửi Mail’, ‘main’)
.addToUi()
}function getColumnHeadings (sheet) {
var headerRange = sheet.getRange(1, 1, 1, sheet.getMaxColumns())
var rawHeader = headerRange.getValues()
var header = rawHeader[0] var columns = {}for (var i in header) {
if (header[i].trim() !== ”) columns[header[i]] = i
}return columns
}function getLatestDraft () {
var drafts = GmailApp.getDraftMessages()
if (drafts.length === 0) return null
else return drafts[0] }function main () {
var quota = MailApp.getRemainingDailyQuota()
var ui = SpreadsheetApp.getUi()
var sheet = SpreadsheetApp.getActiveSheet(); // Use data from the active sheet
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow() – 1; // Number of rows to process
var lastColumn = sheet.getLastColumn(); // Last column
var dataRange = sheet.getRange(startRow, 1, numRows, lastColumn) // Fetch the data range of the active sheet
var data = dataRange.getValues(); // Fetch values for each row in the range
ui.alert(‘Your remaining daily email quota: ‘ + quota)if (quota === 0) {
ui.alert(‘You can not send more emails’)
return
}var labelRegex = /{{[\w\s\d]+}}/g
var sheet = SpreadsheetApp.getActiveSheet()var draft = getLatestDraft()if (draft === null) {
ui.alert(‘No email draft found in your Google account. First draft an email.’)
return
}var subject = draft.getSubject()
var htmlBodyRaw = draft.getBody()
var plainBodyRaw = draft.getPlainBody()
var emailPlaceHolder = draft.getTo()var response = ui.alert(‘Do you want to send drafted message titled “‘ + subject + ‘” to ‘ + (sheet.getLastRow() – 1) + ‘ people?’, ui.ButtonSet.YES_NO)if (response === ui.Button.NO) {
ui.alert(‘Stopped’)
return
}var count = 0
var emailMap = {}var columns = getColumnHeadings(sheet)
var dataRange = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn())
var data = dataRange.getValues()for (var i = 0; i < data.length; ++i) {
var row = data[i];
// Assign each row a variable
var FirstName = row[0]; // Col A: First name
var LastName = row[1]; // Col B: Last name
var Email = row[2]; // Col C: Client emailvar emailStatus = row[lastColumn – 1]; // Col G: Email Status
var waiver = DriveApp.getFileById(“1xPO9viWoy9hwLHZhz5KWu8CFiYtaHqBN”);
var liabilityWaiver = waiver.getAs(MimeType.PDF);
if (emailStatus != EMAIL_SEND_SUCCESS) {
if (Email !== ” && !emailMap[Email]) {
var htmlBody = htmlBodyRaw.replace(labelRegex, function (k) {
var label = k.substring(2, k.length – 2)
Logger.log(‘Replaced ‘ + k + ‘ with ‘ + row[columns[label]])
return row[columns[label]] })var plainBody = plainBodyRaw.replace(labelRegex, function (k) {
var label = k.substring(2, k.length – 2)
return row[columns[label]] })
MailApp.sendEmail(Email, subject, plainBody,{htmlBody: htmlBody});
sheet.getRange(startRow + i, lastColumn).setValue(EMAIL_SEND_SUCCESS);
SpreadsheetApp.flush();
count++}
}
}
ui.alert(count + ‘ emails sent.’)
}.
HTML
Copy
Mình sẽ giải thích một chút về những dòng code này. Dòng đầu tiên, bạn sẽ khai báo một biến chứa thông báo khi email được gửi thành công.
HTML
Copy
Tiếp đến function đầu tiên là function thêm vào menu trang tính một nút bấm, sau này bạn sẽ sử dụng chạy chương trình.
var ui = SpreadsheetApp.getUi()
ui.createMenu(‘Gmail Auto’)
.addItem(‘Bắt đầu gửi Mail’, ‘main’)
.addToUi()
}
HTML
Copy
Functions tiếp theo sẽ tạo các biến dùng để đếm,vòng lặp để đọc trang tính.
var headerRange = sheet.getRange(1, 1, 1, sheet.getMaxColumns())
var rawHeader = headerRange.getValues()
var header = rawHeader[0] var columns = {}
for (var i in header) {
if (header[i].trim() !== ”) columns[header[i]] = i
}
return columns
}
HTML
Copy
Functions tiếp theo là functions đọc thư nháp trong Gmail của bạn
var drafts = GmailApp.getDraftMessages()
if (drafts.length === 0) return null
else return drafts[0] }
HTML
Copy
Functions cuối cùng là function chính để chạy. Trong này bạn sẽ lưu ý một số đoạn code dưới đây.
var row = data[i];
// Assign each row a variable
var FirstName = row[0]; // Col A: First name
var LastName = row[1]; // Col B: Last name
var Email = row[2]; // Col C: Client email
var emailStatus = row[lastColumn – 1]; // Col G: Email Status
var waiver = DriveApp.getFileById(“1xPO9viWoy9hwLHZhz5KWu8CFiYtaHqBN”);
var liabilityWaiver = waiver.getAs(MimeType.PDF);
HTML
Copy
Trong vòng lặp này là các biến được sử dụng trong mail để điền thông tin trong các trường của google sheet. Ví dụ trong mail đã soạn sẵn, bạn sử dụng: Chào {{FirstName}} {{LastName}}, thì khi chương trình chạy đến đây nó sẽ nhận ra FirstName là dùng nội dung cột A (First name) hay LastName là dùng nội dung cột B (Last name) tương ứng.
Khóa Học Email Marketing Học 1 Tặng 5
Ưu nhược điểm của việc Gửi email marketing bằng Gmail
Công cụ nào rồi cũng sẽ có ưu nhược điểm của nó cả, cũng như nó còn phụ thuộc vào việc bạn sử dụng nó vào mục đích gì, tùy biến nó ra sao. Dưới đây là các ưu nhược điểm mà bạn có thể tham khảo để có thể khắc phục hay tận dụng hiệu quả hơn công cụ Auto gửi Gmail này nhé!
Ưu điểm
- Tất nhiên miễn phí là ưu điểm đầu tiên
- Có thể mở rộng với các bạn am hiểu về lập trình
- Email được gửi sẽ gửi thẳng vào hộp thư đến (không vào hộp thư quảng cáo như các phần mềm khác).
- Email có thể được tùy biến nội dung để phù hợp hơn cho từng khách hàng, dễ dàng gây thiện cảm hơn cho người nhận
- Chờ bạn comment
Nhược điểm
- Chỉ gửi được 100 mail/ngày
- Khá rối nếu bạn không chịu test và mày mò, dễ nhầm lẫn vì chương trình sử dụng mail nháp mới nhất. Bạn nên lưu ý kiểm tra lại mail nháp trước mỗi lần gửi.
- Chỉ sử dụng được cho Gmail
Chúng tôi hy vọng với bài viết này đã có thể giúp ích hơn cho bạn trong quá trình tìm hiểu về Cách gửi mail hàng loạt bằng Google Drive. Và nếu có bất cứ thắc mắc hay góp ý nào bạn có thể để lại bình luận cho chúng tôi nhé!
>> HÉ LỘ BÍ MẬT ÍT AI BIẾT ĐƯỢC ĐÚC KẾT TỪ 5 NĂM KINH NGHIỆM BÁN HÀNG ONLINE
Liên hệ với Học viện NUU nếu các anh, chị muốn tư thêm về bất kỳ vấn đề gì trong bán hàng online. Chúng tôi sẵn sàng tư vấn cho anh, chị tại trung tâm. ĐĂNG KÝ HỌC THỬ 01 BUỔI MIỄN PHÍ KHAI GIẢNG LIÊN TỤC HÀNG TUẦN
Có thể học trực tiếp hoặc Online
HỌC VIỆN NUU - ĐÀO TẠO BÁN HÀNG ONLINE UY TÍN
BÀI VIẾT LIÊN QUAN
So sánh Mailchimp và GetResponse, công cụ nào tốt hơn?
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1
Một số mẫu email trả lời khách hàng dành cho người mới
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1
Chia Sẻ Bí Quyết Chạy Quảng Cáo Zalo Hiệu Quả Trăm Đơn Mỗi Ngày
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1
Email marketing điều thiết yếu trong kinh doanh thời đại 4.0
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1
Cách gửi email hàng loạt trong gmail mới nhất 2021
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1
Viết email marketing – Tuyệt kỹ đơn giản mang ngàn đơn
MỤC LỤCCó nên gửi email marketing bằng Gmail ?Thiết lập Google Sheets để Gửi email
Th1