Cách nhanh chóng phản hồi form khảo sát Google với Sheets và Apps Script

Bến Hà Trương
Bến Hà Trương
Aug 17 2020

Bạn đã gửi cho khách hàng của mình các bảng khảo sát từ Google form và nhận được hàng trăm lượt phản hồi.

Chúng đã được sắp xếp gọn gàng trong trong Google sheets của bạn, nhưng bạn lại đang phân vân không biết làm thế nào để phản hồi tất cả và gửi lời cám ơn đến những người đã bỏ thời gian tham gia khảo sát của bạn.
 

Việc soạn hàng đống email phản hồi cho từng người theo cách thủ công sẽ tốn của bạn khá nhiều thời gian, nếu không muốn nói là toàn bộ. Rõ ràng, đây không phải là cách sử dụng thời gian hiệu quả.
 

Bạn có thể sử dụng dịch vụ ESP (nhà cung cấp dịch vụ email) như Mailchimp để gửi hàng loạt thư “Cảm ơn”, nhưng những email này sẽ không mang tính cá nhân. Đó sẽ là một email chung chung, nhạt nhẽo và không ai thích. Những email đại trà kiểu đó sẽ không thu hút khách hàng của bạn và bạn sẽ bỏ lỡ cơ hội để xây dựng những mối quan hệ thân thiết cùng nhiều khác hàng tiềm năng, những người đang quan tâm tới dịch vụ của bạn và đã bỏ thời gian thực hiện bài khảo sát của bạn.
 

Rất may, có một cách dễ dàng vô cùng nhanh chóng giúp bạn soạn hàng tá email phản hồi tự động.

Phản hồi hàng loạt email bằng Google Sheet


 

 

Bằng cách thêm cột Phẩn hồi vào Google Sheet của bạn, bên cạnh câu trả lời khảo sát của Google form, bạn có thể soạn những tin nhắn phản hồi đã được cá nhân hóa gửi đến những người thực hiện khảo sát.
 

Sau đó, sử dụng Google Apps Script, bạn có thể tạo email đã được lập trình cho từng người và gửi hàng loạt tin nhắn phản hồi trực tiếp từ Google sheet của bạn.
 

Top khóa học Google Sheets được học nhiều

Xây dựng bảng lương bằng Google Sheets cơ bản từ A-Z

Tô Văn Thuật

578 học viên

0 (0 đánh giá)

Miễn phí

Xây dựng file thông tin quản lý hồ sơ nhân sự bằng Google Sheets từ A-Z

Tô Văn Thuật

521 học viên

5 (1 đánh giá)

Miễn phí

Google Sheets từ Cơ bản đến Nâng cao, công cụ thay thế Excel

Nguyễn Văn Qúy

379 học viên

5 (5 đánh giá)

499,000đ

799,000đ

Cách bước tạo sheet phản hồi trong Google Sheet

Giả sử chúng ta gửi một bảng khảo sát ngắn tới các khách hàng của mình, yêu cầu họ thử khóa học mới của chúng ta. Sau đó, chúng ta nhận được hơn 270 email phản hồi. Chúng ta cần phải gửi email cho từng người để nói lời cảm ơn vì đã bày tỏ sự quan tâm đến khóa học mới và chia sẻ phản hồi của họ.

Sau đây là các bước thực hiện.

Bước 1: Tạo bản khảo sát Google form

Bước này khá đơn giản.

Đầu tiên bạn sẽ tạo một bảng khảo sát với Google form. Khi tạo bản khảo sát này, bạn cần yêu cầu người thực hiện khảo sát nhập tên của họ  và bạn cũng đừng quên click vào tùy chọn “Collect Emails”  trong phần Settings .

Google form thu thập email
 

Dưới đây là ảnh chụp của Form demo đã hoàn thành:

Google form đã hoàn thành
 

 

Khi bạn đã tạo xong biểu mẫu Khảo sát, hãy gửi biểu mẫu này đi để bạn có thể nhận được phản hồi.

Bước 2: Thiết lập Sheet phản hồi trong Google form

Nhấp vào tab Responses (1) và sau đó nhấp vào Create Spreadsheet (2):

Tạo sheet Responses của Google form
 

Tiếp theo, nhấp vào tạo bảng tính mới, bảng tính này sẽ được tạo trong cùng thư mục Drive với Form của bạn:
 

Google Form tạo sheet mới
 

Hãy tìm trang tính vừa tạo và mở nó ra, bạn sẽ thấy một sheet tương tự như hình bên dưới

Trang tính biểu mẫu của Google
 

Chèn 2 cột vào bên phải cột dữ liệu Form Response  của bạn.

Trong ví dụ này, chúng ta sẽ thêm hai cột trống mới vào bên phải Cột D. Thực hiện việc này bằng cách đánh dấu cột D (nhấp vào tiêu đề cột D), nhấp chuột phải và chọn Insert 1 Right hai lần.

Cột mới đầu tiên, cột E,  chúng ta đặt tên là "Custom Reply" và cột thứ hai, cột F,  là "Status", vì vậy Sheet của chúng ta bây giờ trông giống như sau:
 

Bảng trả lời
 

Chúng ta sẽ tô màu hai cột mới để phân biệt chúng với dữ liệu có sẵn của Form.

Vậy là Sheet mới của chúng ta đã sẵn dàng. Bạn hãy mở Script Editor (dưới menu Tools) để bắt đầu thêm code.

Bước 3: Thêm code vào Apps Script

Trước khi bắt đầu với các đoạn code, chúng ta hãy nghĩ thử xem mình cần viết những gì

1. Xác định dữ liệu trong Sheet phản hồi khảo sát Google form của chúng ta.
 

2. Phân tích cú pháp dữ liệu để trích xuất câu trả lời và tên người trả lời

3. Phân tích cú pháp Sheet để trích xuất tất cả các câu trả lời tùy chỉnh của chúng ta cho từng người một

4. Quyết định xem có nên gửi email hay không (có phản hồi nào đã được gửi chưa?)

5. Tạo email chứa tên người trả lời, phản hồi của họ và câu trả lời tùy chỉnh của chúng ta

6. Gửi email

Dưới đây là đoạn code để dán vào Script Editor trên Sheet của bạn (Tools > Script editor…):

// add menu to Sheet function onOpen() {  var ui = SpreadsheetApp.getUi();    ui.createMenu("Send Emails")  .addItem("Send Email Batch","createEmail")  .addToUi(); } /** * take the range of data in sheet * use it to build an HTML email body */ function createEmail() {  var thisWorkbook = SpreadsheetApp.getActiveSpreadsheet();  var thisSheet = thisWorkbook.getSheetByName('Form Responses 1');  // get the data range of the sheet  var allRange = thisSheet.getDataRange();    // get all the data in this range  var allData = allRange.getValues();    // get the header row  var headers = allData.shift();    // create header index map  var headerIndexes = indexifyHeaders(headers);    allData.forEach(function(row,i) {    if (!row[headerIndexes["Status"]]) {      var   htmlBody =        "Hi " + row[headerIndexes["What is your name?"]] +",

" +          "Thanks for responding to my questionnaire!

" +            "Your choice:

" +              row[headerIndexes["Choose a number between 1 and 5?"]] + "

" +                row[headerIndexes["Custom Reply"]] + "

" +                  "Have a great day.

" +                    "Thanks,
" +                      "Ben";            var timestamp = sendEmail(row[headerIndexes["Email Address"]],htmlBody);      thisSheet.getRange(i + 2, headerIndexes["Status"] + 1).setValue(timestamp);    }    else {      Logger.log("No email sent for this row: " + i + 1);    }  }); }   /** * create index from column headings * @param {[object]} headers is an array of column headings * @return {{object}} object of column headings as key value pairs with index number */ function indexifyHeaders(headers) {    var index = 0;  return headers.reduce (    // callback function    function(p,c) {          //skip cols with blank headers      if (c) {        // can't have duplicate column names        if (p.hasOwnProperty(c)) {          throw new Error('duplicate column name: ' + c);        }        p = index;      }      index++;      return p;    },    {} // initial value for reduce function to use as first argument  ); } /** * send email from GmailApp service * @param {string} recipient is the email address to send email to * @param {string} body is the html body of the email * @return {object} new date object to write into spreadsheet to confirm email sent */ function sendEmail(recipient,body) {    GmailApp.sendEmail(    recipient,    "Thanks for responding to the questionnaire!",    "",    {      htmlBody: body    }  );    return new Date(); }

Bạn sẽ cần phải điều chỉnh tham chiếu row[headerIndexes[…]] 
 

row[headerIndexes["Choose a number between 1 and 5?"]]
 

cho khớp với các tiêu đề cột trong Sheet trả lời của bạn.
 

Tóm lại, đây là cách chương trình trên hoạt động:
 

  • Dòng 2 - 8 thêm menu tùy chỉnh vào Google sheet của chúng tađể chúng ta có thể chạy chương trình từ đó.
     
  • Các dòng 15 - 28 lấy tất cả dữ liệu phản hồi ra khỏi trang tính, được gọi Form Responses 1 và tạo chỉ mục của các tiêu đề cột.
     
  • Dòng 30 - 48 là phần chính của chương trình này, trong đó tập lệnh lặp qua từng hàng dữ liệu bằng phương thức forEach , kiểm tra xem email đã được gửi chưa (dòng 31) và nếu chưa, hãy tạo một email (dòng 32 - 40) với một dòng mở và đóng cố định và thông báo tùy chỉnh ở giữa, sẽ gửi nó (dòng 42) và xuất ra một ngày trong cột trạng thái (dòng 43).
     
  • Dòng 57 - 77 là hàm tạo chỉ mục tiêu đề từ dữ liệu của chúng ta.
     
  • Dòng 85 - 97 là hàm chúng ta gọi để thực sự gửi email bằng dịch vụ GmailApp .
     

Lưu ý:

Apps Script sẽ cho phép bạn gửi tối đa 100 email / ngày đối với gói dành cho người dùng miễn phí. Nếu bạn có nhiều gửi nhiều hơn. Chương trình sẽ báo lỗi sau:
 

giới hạn hạn ngạch tập lệnh ứng dụng email
 

Bạn sẽ phải đợi 24 giờ trước khi có thể gửi loạt email tiếp theo, chương trình sẽ bắt đầu từ nơi bạn đã dừng lại.
 

Bạn cũng có thể nâng cấp lên G Suite for Work và hạn ngạch email Apps Script của bạn tăng lên 1.500 email / ngày

Gửi email phản hồi cho Google Form từ trang tính của bạn

Trong cửa sổ Script Editor của bạn, hãy chọn và chạy hàm onOpen():

Run > onOpen
 

Thao tác này sẽ thêm một menu vào tab Sheet của bạn, để bạn có thể chạy tập lệnh email từ trang tính của mình.
 

Tiếp theo, hãy viết tất cả các câu trả lời tùy chỉnh của bạn vào các ô bên cạnh phản hồi cho mỗi hàng:
 

Cách nhanh chóng phản hồi form khảo sát Google với Sheets và Apps Script
 

Khi bạn đã sẵn sàng, hãy sử dụng menu tùy chỉnh mới để chạy hàm email.
 

Nếu hàm này hoạt động, nó sẽ chèn thông tin ngày gửi vào cột trạng thái cuối cùng đó để bạn biết điểm email được gửi đi. Bạn có thể kiểm tra thư mục thư đã gửi trong tài khoản Gmail của bạn để xác nhận lại.

Qua bài viết này, chúng tôi hy vọng bạn đã biết cách dễ dàng gửi thư phản hồi cho khách hàng của mình. Để biết thêm các mẹo và thủ thuật tin học hữu ích khác, hãy tham gia cùng Gitiho ngay hôm nay.

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Hướng dẫn tạo danh sách tùy chọn Drop List trong Google Sheets

Hướng dẫn tạo danh sách tùy chọn Drop List trong Google Sheets

Hướng dẫn cách cố định hàng/cột trong Google Sheets

Hướng dẫn cách cố định hàng/cột trong Google Sheets

Hướng dẫn cách bảo vệ trang tính trong Google Sheets

Hướng dẫn cách bảo vệ trang tính trong Google Sheets

Hướng dẫn cách khắc phục lỗi về ô và dòng trong Google Sheets

Hướng dẫn cách khắc phục lỗi về ô và dòng trong Google Sheets

Tổng hợp các phím tắt thông dụng trong Google Sheets

Tổng hợp các phím tắt thông dụng trong Google Sheets

Hướng dẫn tô màu xen kẽ giữa các hàng trong Google Sheets

Hướng dẫn tô màu xen kẽ giữa các hàng trong Google Sheets

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội