免費打造專屬於您的問卷程式

Google Form & Google App Script & LINE Notity

這篇文章寫於 2020 年,文中的工具與版本可能已經更新,實作時請以官方文件為準。

本文目錄
  1. 免費打造結合即時通知&店家推廣的問卷程式
  2. STEP 1 / 4 : 建立Google Form表單
  3. STEP 2 / 4: 撰寫Google App Script
  4. STEP 3 / 4: 申請LINE Notify token
  5. STEP 4/ 4: 展示成果
  6. 人生第一篇部落格教學到這裡結束啦~希望大家都有透過這些工具的組合蹦出新的火花喔~

免費打造結合即時通知&店家推廣的問卷程式

也許您曾經有這樣的經驗:

  1. 顧客填寫完問卷後留下負評但店家未即時處置
  2. 顧客用餐體驗極佳但您卻沒讓他更近一步地幫店裡宣傳

文章目標:

  1. 客戶留下負面評價時會即時向店長(老闆)的line發出通知,讓店長(老闆)可以馬上了解狀況並處理
  2. 客戶留下好的用餐評價會引導他幫店家粉絲團按讚留下好評

本文章使用到的技術:

  1. Google Form表單
  2. Google App Script
  3. LINE Notify

接下來將一步一步解說如何從零打造您的問卷程式

STEP 1 / 4 : 建立Google Form表單

先建立一個Google Form,選取個人的即可:

STEP 1 / 4 : 建立Google Form表單(圖 1)

我將表單拆成兩個section如下圖,您可以設定自己想要的問題,不過我會建議您先跟我做一樣的步驟:

Section1是店家評分的設定,我們會根據評分不同給予不同的導向

STEP 1 / 4 : 建立Google Form表單(圖 2)

Section2是當客戶不滿意時可以讓他加註的部分

STEP 1 / 4 : 建立Google Form表單(圖 3)

STEP 2 / 4: 撰寫Google App Script

完成上面Form的設定後就可以幫他加上Google App Script

STEP 2 / 4: 撰寫Google App Script(圖 4)

將以下程式複製貼上,如果您願意可以自由更改,如果看不懂可在下方詢問,LINE Notify 的token會在Step3講解,您取得後再補上去即可

function getFormResponse (event) { //event為觸發submit事件時帶入的資訊

  //表單名稱(請填寫對應的名稱,否則google會無法找出對應的form id)
  var FORMNAME = "餐後回饋表單";

  //取得表單
  var formHandle = DriveApp.getFilesByName(FORMNAME).next();

  //由表單 Id 開啟表單
  var form = FormApp.openById(formHandle.getId());

  //取得表單名稱
  var formTitle = form.getTitle();

  //取得表單回覆內容
  var formResponse = event.response;

  //取得表單上的項目
  var itemResponses = formResponse.getItemResponses();

  //傳送訊息設定
  var itemContext = "\n" + formTitle + "\n 電子郵件 : " + Session.getEffectiveUser().getEmail() + "\n";
  
  //紀錄回覆評分
  var scrore = 0

  //將表單每一項問答組成訊息
  for (var j = 0; j < itemResponses.length; j++) {
    //取得問題標題
    itemContext += itemResponses[j].getItem().getTitle();

    //取得問題回覆內容
    itemContext += " : " + itemResponses[j].getResponse() + "\n";

    //用這裡來取得評分
    if (itemResponses[j].getItem().getTitle() == '店家評分(5分最高)') {
      scrore = itemResponses[j].getResponse()
    }
  }

  //取得填寫表單時間
  itemContext += "\n填寫時間 : " + formResponse.getTimestamp() + "\n\n\n";
  
  if (Number(scrore) <= 2) {//如果訂單評分低於2分則馬上送出表單到Line讓店家儘速回覆
    sendToLine(itemContext);
    form.setConfirmationMessage('非常抱歉造成您用餐的不愉快,我們店長將儘快與您取得聯繫並致上最誠懇的道歉');
  } 
  else if (Number(scrore) >= 4){//如果訂單評分高於4分則馬上送出店家粉絲團爭取按讚機會
    form.setConfirmationMessage('如果本次的用餐讓您感到愉悅,請您給粉絲團一個讚:' + "\n" + 'https://www.facebook.com/profile.php?id=100001123361906');
  }

}

function sendToLine (message) {

  var token = "你自己的LINE Notify";

  var options =
  {
    method: "post",
    payload: "message=" + message,
    headers: { "Authorization": "Bearer " + token },
    muteHttpExceptions: true
  };

  UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

原始碼:google_reponse(GitHub Gist)

接下來要將這個程式發布(如果有授權相關問題必須都接受才會通過)

STEP 2 / 4: 撰寫Google App Script(圖 5)

Project version記得每次都要選擇New(否則不會更新)

STEP 2 / 4: 撰寫Google App Script(圖 6)

因為我們要觸發script裡面的function所以需要設定觸發的時機點如下:

STEP 2 / 4: 撰寫Google App Script(圖 7)

STEP 2 / 4: 撰寫Google App Script(圖 8)

如果新增成功就會看到下圖

STEP 2 / 4: 撰寫Google App Script(圖 9)

STEP 3 / 4: 申請LINE Notify token

因為我們表單在判斷評價低分時要向老闆(主管)的LINE推播,所以需要申請一組LINE Notify的token,你可以把它想像成一個允許對你LINE發送訊息的鑰匙

STEP 3 / 4: 申請LINE Notify token(圖 10)

如果有曾經申請過token的就會在上方顯示
如果有曾經申請過token的就會在上方顯示

接下來只需要將您申請的這組token貼到Google App Script裡面token的位置就好嚕~記得要重新publish App script的版本喔

STEP 4/ 4: 展示成果

只要您按造上面的教學文件,如果順理的話應該會得到下面的畫面喔

如果評分低於2分:

STEP 4/ 4: 展示成果(圖 12)

STEP 4/ 4: 展示成果(圖 13)

STEP 4/ 4: 展示成果(圖 14)

STEP 4/ 4: 展示成果(圖 15)

如果評分高於4分

STEP 4/ 4: 展示成果(圖 16)

STEP 4/ 4: 展示成果(圖 17)

STEP 4/ 4: 展示成果(圖 18)

人生第一篇部落格教學到這裡結束啦~希望大家都有透過這些工具的組合蹦出新的火花喔~

參考資源:Google App Script (From Service) , Google 表單與 Line Notify 結合應用

Talk

留言討論

留言載入中…