
本篇文章為翻譯文章: 原文(泰文)
“我們不是不喜歡廣告……我們只是不喜歡與我們無關的廣告。”(泰文)
大家好,透過這耳熟能詳的句子來開始本篇文章的介紹。如果我們能深入了解客戶,通過我們自己數據中的各種資訊或來自平台的訊息。使我們能夠更有效,更深入地了解每一位客戶,將可以提供更個人化的產品或正確的服務。
什麼是 Narrowcast?
Narrowcast 這個詞與 Broadcast 相反,Broad 表示 “廣發”,Narrow 表示 “ 狹窄”。相比之下,我們 Broadcast 是為了向大量受眾(所有的好友)發送訊息。至於使用 Narrowcast,它將發送訊息給特定的群體(目標受眾)。

因此,使用 Narrowcast 幫助我們的業務找到真正感興趣或想要使用我們的產品或服務的用戶。使用 Narrowcasrt 的特點如下:
- 特定受眾
- 量身定制的訊息,與用戶更相關並且更具個人化。
- 預算更小,價格實惠 (非常適合使用 LINE 官方帳號,能夠更有效的花費在有興趣的用戶上)
使用 Narrowcast API 發送訊息
了解 Narrowcast 的概念後,讓我們看一下 LINE 的 Narrowcast API。之前,當我們從Chatbot發送訊息時,我們能夠使用Messaging API通過以下三種方式將訊息發送給關注者:(了解更多信息在此處發送訊息。)
- Push API : 發送 1:1 訊息
- Multicast AP I: 一次發送訊息給多個好友(指定)。
- Broadcast AP I: 一次發送訊息給所有的好友。
借助 Narrowcast API,我們可以選擇發送給特定用戶,感興趣的目標或要求,例如查看過我們的某個廣播訊息 (Broadcast) 的用戶,點擊查看我們的產品鏈結的用戶,選擇按受眾特徵(性別,年齡,基於 LINE 的操作系統)進行發送等,這很酷此外,我們可以與 And,Or,Not 自由混合和匹配!
Narrowcast API 的結構
// LINE HTTP Request POST https://api.line.me/v2/bot/audienceGroup/imp // Headers Content-Type: application/json Authorization: Bearer{CHANNEL ACCESS TOKEN} // Request Body messages:(訊息最多可以包含5個) filter.demographic:選擇按性別,年齡,操作系統等發送給用戶。 recipient:選擇發送給我們通過選擇用戶 ID(點擊了以下訊息的用戶)創建的受眾群體 Limit.max:制定發送訊息的最大數量
因為此 API 的 JSON 結構非常複雜 (很容易在裡面迷路!)與發送到特定用戶組有關的部分分為3個主要部分:
- 人口統計 (Demographic)
- 受眾 (Recipient)
- 限制 (Limit)
讓我通過Mindmap圖表解釋結構,以便於理解。每個部分都會有樣本 如果您準備好了,請深呼吸,然後開始!

1. 人口資料挑選方法
filter.demographic 有一些我們可以選擇使用的條件,如下
- 性別:選擇是否
male
或female
- 年齡:年齡可以選擇
gte
(Great Than Equal 大於等於)還是lt
( Less Than 小於),範圍有:age_15
age_20
age_25
age_30
age_35
age_40
age_45
age_50
- appType:使用LINE
ios
或android
- area:
- 根據泰國用戶位置 (country code=764) ,可以區分為:
th_01
:曼谷th_02
:芭堤雅th_03
:北部th_04
:中部th_05
:南部th_06
:東部th_07
:東北部th_08
:西部
- (譯者註解) 台灣用戶位置 (country code=158)
tw_01
:台北市tw_02
:新北市tw_03
:桃園市tw_04
:台中市tw_05
:台南市tw_06
:高雄市tw_07
:基隆市tw_08
:新竹市tw_09
:嘉義市tw_10
:新竹縣tw_11
:苗栗縣tw_12
:彰化縣tw_13
:南投縣tw_14
:雲林縣tw_15
:嘉義縣tw_16
:屏東縣tw_17
:宜蘭縣tw_18
:花蓮縣tw_19
:台東縣tw_20
:澎湖縣tw_21
:金門縣tw_22
:連江縣
- 根據泰國用戶位置 (country code=764) ,可以區分為:
- subscriptionPeriod:成為關注者的時間。可以從以下選項中選擇
gte
(大於等於)或lt
(小於)day_7
day_30
day_90
day_180
day_365
- operators:可以使用或根據我們感興趣的條件選擇混合(也可以堆疊成多層)
or, and, not

下面的 JSON 範例為:想將訊息發送給使用 iOS 且 20 歲以上但不超過 25 歲的男性和女性(使用運算子 And 來指定的方式)。
“ filter”:{
“ demographic”:{
“ type”:“ operator”,
“ and”:[
{
“ type”:“ gender”,
“ oneOf”:[
“ male”,
“ female”
]
},
{
“ type “:” age“,
” gte“:” age_20“,
” lt“:” age_25“
},
{
” type“:” appType“,
” oneOf“:[
“ ios”
]
}
]
}
}
2. 受眾的建立方式
接下來,我們將訊息傳遞的目標受眾稱為“ 受眾群體”,我們需要audienceGroupId
在發送之前創建一個受眾群體。可以選擇創建以下三種類型
2.1 通過用戶 ID 創建受眾
這很簡單,當我們從 Webhook event 中獲取用戶 ID 時,可以將其放入資料庫中,然後選擇要創建組的用戶 ID,例如作為商店的常規客戶的用戶組。以下為規格與範例程式碼
// LINE HTTP Request POST https://api.line.me/v2/bot/audienceGroup/imp // Headers Content-Type: application/json Authorization: Bearer{CHANNEL ACCESS TOKEN} // Request Body description:受眾名稱組的名稱不能與已創建的名稱相同,且不得超過120個字元 IsIfaAudience:如果我們使用用戶ID,請選擇false uploadDescription:描述創建此組的詳細信息的訊息(可選), audiences:數組用戶 ID 最多可容納 10,000 個 audiences[].id:如果我們使用用戶 ID ,請輸入“用戶ID”
此 API 調用的結果將返回 audienceGroupId
回來,以便我們可以繼續在受眾中使用它
{
“ audienceGroupId”:1111111111111,
“ type”:“ UPLOAD”,
“ description”:“ regularCustomerGroup”,
“ created”:1579143542,
“ isIfaAudience”:false
}
你可以選擇搭配,我們感興趣的是使用對象或與此相同的例子。or
and not
"recipient": { "type": "operator", "and": [ { "type": "audience", "audienceGroupId": "1111111111111" }, { "type": "operator", "not": { "type": "audience", "audienceGroupId": "2222222222222" } } ] }
注意1:實際上,我們也可以使用 IFA 值創建受眾。但如果有興趣使用,請聯繫此表格以啟用它
注意2:我們可以通過此 API 調用增加已經創建的組中的用戶 ID 數量。
2.2 從點擊過 Broadcast / Narrowcast 訊息中的 URL 來建立受眾
以前點擊過我們先前發送到 Broadcast t或 Narrowcast 的訊息中的URL的人創建受眾,例如,我已經發送了含有 LINE Developers Podcast EP.1 鏈結 (URL) 的 Broadcast 訊息,並且我只想將訊息發送給其他人。剛剛點擊即可收聽此播客。我們稱此方法為 “Click re-targeting”。

//// LINE HTTP Request POST https://api.line.me/v2/bot/audienceGroup/imp // Headers Content-Type: application/json Authorization: Bearer{CHANNEL ACCESS TOKEN} // Request Body description:受眾名稱在群組中,與以前一樣,且不得超過120個字符 RequestId:從以下位置獲取此值 當我們發送 Broadcast 或 Narrowcast 的訊息(發送後的60天內)時,response header 中的 x-line-request-id clickurl:用戶點擊的URL 如果未指定,則表示用戶點擊該訊息中的任何URL(可選)。
2.3 從看過訊息 (Broadcast 與 Narrowcast) 的人中創建受眾
建立曾經收過某則訊息的目標對象群組。僅此文字(需被記錄為讀取過),我們稱此方法為 “Impression re-targeting” 。
// LINE HTTP Request POST https://api.line.me/v2/bot/audienceGroup/imp // Headers Content-Type: application/json Authorization: Bearer{CHANNEL ACCESS TOKEN} // Request Body description:受眾名稱組的名稱不能與已創建的名稱相同,且不得超過120個字元 RequestId:從以下位置獲取此值 當我們發送 Broadcast 或 Narrowcast 消息(發送後全部60天)時, response headers 中的 x-line-request-id
3.如何設置限制
最後,我們也可以設置要在 Narrowcast 中發送的最大郵件數,limit.max
系統會隨機選擇自動發送信息的人,例如,在我們實際希望發送的條件下的總人數為10,000,但我們將其設置為 1,000 人,系統將從總數中隨機選擇最多 1,000 人。
“ limit”:{
“ max”:1000
}
一個完整範例
讓我們看一下 Narrowcast API 中的一個有效傳送範例,其中包含人口統計資訊和受眾資訊。
檢查 Narrowcast 發送的狀態
與推送或廣播時相比,Narrowcast API的不同之處在於,將收到伺服器回覆為“ 202 Accepted”(接受),這意味著伺服器已收到請求,但當前正在處理。想要知道最新狀況的開發者,您也可以檢查 Narrowcast 交付的狀態。
// LINE HTTP Request GET https://api.line.me/v2/bot/message/progress/narrowcast?RequestId = {request_id} // Path param requestId:發送 Narrowcast 時,response headers 裡面的 x-line-request-id // Headers Authorization: 記錄著 {CHANNEL ACCESS TOKEN}
狀態檢查結果示例
{
“ failureCount”:0,
“ phase”:“ succeeded”,
“ successCount”:1000,
“ targetCount”:1000
}
總結
比起不得不發送過多的訊息給使用者(並且經常被用戶封鎖),我認為我們應該考慮更詳細的與使用者的互動。尋找出對我們的產品或服務真正感興趣的人,發送給“精準”的受眾,並且讓用戶都”喜歡”收到這樣的訊息才是。