Growth 流量成長數據分析

筆記分享 – 6個 Google Data Studio 的小技巧

小編參加了 Measure Summit 大會,整理了講者 Ahmad Kanani (Siavak) 分享的 6個 Google Data Studio 小秘訣,筆記分享給大家快速參閱!

另外對 Data Studio 有興趣的朋友,分享一個小編最近發起的活動:「Data Studio 模板」的活動,每週接棒分享,目前進入第四週,可以參考過去分享者的模板如下:

第一招 Page Setting

Google Data Studio Page Setting
  • 重點:學習如何設定 Page-level 的「背景顏色」、「篩選器」、「資料來源」、「畫布大小」
  • 實作:在分頁中,點選右鍵 > Current page settings 為每一頁設定 page-level 的資料源和樣式

第二招 Styling Secrets

Google Data Studio Styling Secrets
  • 重點:快速複製設定好的格式
  • 實作:針對已經設定好的格式欄位右鍵點選 Copy,然後點選未設定格式的欄位,點選右鍵,可以直接貼上主題 (Paste style only)!

第三招 Usage Tracking

Google Data Studio Usage Tracking
  • 重點:在 Data Studio 中埋設 Google Analytics 分析
  • 實作:左上角檔案 > 報表設定 > 填入 Google Analytics ID
  • 補充:填入後可以看到這份 report 觀看者的數據,例如「地區」、「停留時間」、「被 Duplicated」 的次數,所以你可以輕鬆做一個 Data Studio Template 來追中  Data Studio Template 的數據

第四招 Data Blending

Google Data Studio Data Blending
  • 重點:混合資料
  • 實作:點選兩個要合併的表格,點擊右鍵後,選擇混合資料
  • 補充:混合資料很實用,但要留意如果因為數據太大,會導致 Data Studio 圖表跑不太出來。另外記得混合資料是「Left Join」,沒辦法使用聯集「Union」的方法;講者提到如果要 Union 的,建議可以使用 3rd Google Sheet 實作。

第五招 Row level Security

Google Data Studio Row level Security
  • 重點:判別使用者登入的 Gmail,來篩選觀看的 report 資料
  • 實作:資料來源左上角,選擇依電子郵件篩選 (記得資料欄位裡面要有 Email 的欄位唷!)

第六招 Field IDs

Google Data Studio Field IDs
  • 重點:當有兩個資料來源,想用一個控制項來篩選時,Field IDs 就派得上用場了!
  • 實作:新增欄位參數,即可取得 Field ID

最後 Bonus

如果有 G Suite 的 admin 帳號,可以看到底下的帳號使用 Data Studio 的情況。進入網址:https://admin.google.com/ac/reporting/audit/data_studio

Google Data Studio G suite admin

Data studio 可以用 emojis 了!

Google Data Studio emojis

那講者分享筆記就到這邊,希望大家對 Data Studio 各種神奇技巧有更深了解和幫助~

數據工具應用趨勢與Google Analytics App + Web介紹
Uncategorized

筆記分享- 數據工具應用趨勢與Google Analytics App + Web介紹

本文為Measure Summit 其中一場演講 A Changing Industry And What’s Next 的筆記分享。講者為大家看官方GA教學影片時都很熟悉的臉孔 Krista Seiden。

整體來說,這算是推廣新版本Google Analytics App + Web的一場演講,若你還不知道這是什麼工具,建議可以閱讀本文與附上的延伸文章做了。

數據平台使用問卷的發現與趨勢

講者在他的推特與各個資料分析社群中發送線上問券,詢問大家使用數據平台的狀況,下列是從問券回復中所發現的趨勢

  1. 近80%的人,主要使用Google Analytics或Google Analytics 360 為主要數據平台
  2. 擁有第二個數據平台的人,其需求各異,有些為了想看到不同的insight(Hotjar),有些把GA當作第二選擇的是因為需要廣告受眾包,有些是因為該平台提供的服務更適合用於data mining等技術層面的應用(Snowplow)
  3. 數據平台使用上,有兩個極端的傾向,整合不同資料來源到in-house做更複雜的分析,或是僅用一個主要的數據平台做分析。
  4. Snowflake, Segment, Amplitude等工具開始讓使用者直接獲取raw event data,而不是侷限在平台內的分析
  5. 隨著GDPR, ITP, CCPA 等措施,將越來越難收集cookie-based的資料

Google Analytics App + Web簡介

根據上述幾點的發現與趨勢,講者認為Google Analytics App + Web 提供許多相應的解決方案。下面整理 3個特點。

  1. 整合不同來源的資料,如網站、ios或Android的APP,並可用User ID做跨裝置辨識。
  2. 沿用GA4F的event-based的資料搜集方式,且無資料量搜集上限。
  3. 可將原始事件資料導入到BigQuery(免費功能),便於後續做更深入分析。

Google Analytics App + Web中的事件資料

每個GA App + Web資源可以設定 500個獨立事件,每個事件底下可以帶最多 25個事件參數。可以想像參數是拿來描述被觸發的這個事件的細節,例如發生的位置、商品名稱、文章ID、使用者身份等等。

事件可分為下列三類,要特別注意的事,若欲追蹤的事件已經在官方建議事件的列表中,就直接使用官方提供的事件名稱,如此GA App + Web上的特定分析報表才可使用。

自動搜集的事件

官方建議導入的事件(可再細分不同產業的建議事件)

自定義客製的事件

Google Analytics App + Web 新功能介紹

  1. Enhanced measurement功能在GA App + Web內可以直接設定追蹤特定事件,如pageview, scrolls, outbound clicks等等,設置上與經典GA相比簡單很多。
  2. Google Tag manager 新增設置GA App + Web的tag
  3. 一些新增的指標與報表
    1. Engaged sessions:在站上待超過10秒即被算作Engaged sessions,算是跳出率指標的取代方案(講者特別提到他痛恨跳出率XD)
    2. Engaged sessions per user:平均每個使用者的Engaged sessions 數量,會因為網站的新舊訪客的比例而有所影響。
    3. Engagement time:經典版GA停留時間的優化版本,參考Firebase追蹤APP的Engagement time所設計。因應Web的環境,考量到瀏覽器tab和螢幕睡眠等因素做過優化。
    4. Ecommerce Reporting:最近推出的新功能,不過很多細節,建議參考講者寫的Blog文章
    5. Analysis:裡面有exploration, funnel, path 等不同的分析方法,建議大家玩看看,也可以參考講者的文章

新舊版GA轉換的常見問答

Q1:新版沒有舊版的 pageview資訊,該如何做頁面分析?

A1:新版GA會自動紀錄觸發事件時的page_name參數,可以此參數去看與其他事件之間的連結做分析。

Q2:在舊版GA中設定了50+的自訂維度資料到每一個匹配,該怎麼轉換到新版GA中一個事件只有25個參數?

A2:舊版User 層級的自訂維度資料將轉換到新版的User properties,舊版Hit 層級的自訂維度資料將轉換到新版的自訂義事件(上限500個)所以基本上500個以內的自訂維度是可以對應轉換過去的。

Q3:舊版GA中已經設定了三個層級的事件,搜集了無數個事件資料,該怎麼轉換到新版GA?

A3:因為新版GA的data model已經不一樣了,建議重新思考規劃。

數據分析行銷科技

Apple滅了IDFA,業界怎麼說?

privacy war

前言:隱私權保護風潮崛起
身為Marketing Data或是數位廣告分析從業工作者,合法的追蹤分析、績效評量、優化廣告精準度是工作中很重要的一部分,也因此「第三方Cookie已死」這個預言一直從多年前開始就被默默的關注。大規模的Cookie送葬典禮起始於2019年5月,Firefox開始預設阻擋第三方Cookie,掀起了隱私權保護風潮;Safari和Chrome也在系統設定中添加關閉追蹤的選項。由於大部分使用者不見得關心追蹤不追蹤的問題,也因此第三方Cookie雖然被判死刑也上了香點了燭,但遲遲還沒拖去埋葬,大家還是陸續收一些零散的第三方Cookie。同行們還在處理Cookie後事,搞得怨聲載道的,沒想到又來了個諸神黃昏, IDFA (Identifier for Advertising 廣告識別碼) 也即將被滅絕。由於MDPA協會以推廣行銷數據專業為宗旨,因此也針對IDFA滅絕事件去做追蹤筆記並整理重點,提供大家參考。

 

2020 WWDC如此說
三個星期前,也就是2020年6月22日,蘋果在年度WWDC (Worldwide Developers Conference 全球開發者大會) 上宣布一系列的用戶隱私權保護措施,其中影響最大的就是 iOS 14 將限制 IDFA 的作用。 Read More

Uncategorized

如何點行銷技能

 

有部分的人對於出社會不知道如何選擇職業,像是醫師、律師、建築師這種獨特職業可能要有特殊技能或執照才可以。而對於行銷感到美好而踏入,進來才發現這職業所需技能廣大,一個技能就能延伸多,從通路行銷,實體與線上到最近正夯的線下結合線上,線上走入線下,彼此的距離拉近了一些,而不管是線下線上,怎麼發展行銷技能才好?

 

就像線上遊戲技能樹可能是固定,但點的技能跟天生技能不同每個人走的路也就不一樣,沒有最好的配置,只有最適合,當然偶爾也會遇到外掛點滿技能。基本上像是廣告、社群、活動、會員與 SEO 加上分析,下面又有不同的技能可以點與其他主要工作又有點相關,早晚都是會碰到

 

以前團隊的標語用阿斯拉的速度,小當家的創意最後還有鋼鐵人的意志,會有這些標語也是當時的情境讓人有此體悟,基本通用技能大概是分析、Excel 跟 PPT ,怎麼用 Excel 在茫茫數字中找到 Insgiht,在 PPT 呈現結果,最後還是要有建議或行動,沒有下一步是不行的,老闆可能會問的問題是然後呢?下一步建議怎麼做

 

廣告投放很容易吸炮火,沒營收沒流量千錯萬錯都是廣告的錯。每個廣告投手心中都會有一個流程,觸及、曝光、點擊到進站後的流量,加到購物車到結帳完成等,廣告從觸及開始接觸到消費者的節點都能優化。

目前主流是 Facebook 跟 Google ads 關鍵字,Facebook 吃素材與樣式,不管是影片或是圖片, Googles Ads 也有 Banner 的廣告與關鍵字廣告,關鍵字廣告可以用文案來吸引。而文案與素材怎麼呈現,怎麼與受眾溝通,怎樣測試算有效等都會是廣告投放重要的一環,接下來有支出有收入,就能算出 ROAS,更進一步要算出 ROI 來調整廣告 (有一說法,扣掉成本後都還有賺那就要持續廣告不要停)

 

社群,近年很火紅的職業之一,要做素材、剪影片、要文案要當客服等,還要從後台找數據,也要測試大家喜歡的是哪一種文章,如何引爆潮流或是快速跟風話題,考驗小編的即時反應,當然要像蝦皮那樣有一整個團隊是可遇不可求,通常都是一個打十個再用

 

活動,美美的談好活動就好了(誤) ,活動通常需要精密的計算,從主軸、活動內容、到獎品與活動網頁,能不能吸引人或是跟廠商合作端出非常吸引人的牛肉

 

會員,流量越來越珍貴的情況下,如何顧好會員以及擴大會員是每家公司都在努力的,分群溝通,使用手上有的媒體,簡訊、eDM、Line 或是廣告等,精算會員哪時可能流失把他們拉回來,如何有效利用鉤子又不會浪費成本,精打細算

 

SEO,免費得人人愛,要投入資源又不具有立即性效果,所以最常被放在嘴上卻不在心上

 

假設以廣告投放當起點,可能就要先理解 GA會用UTM,而後培養對素材敏銳度與想法,更進一步與活動、小編、會員溝通與協調,或是人力吃緊自己也要做簡單的素材或影片,每次活動前檢查 code 是否有埋對 ,是否有收到正確資料,縮網址是否有被轉址等網頁優化,一步一步環環相扣,不是單兵作戰

 

至於行銷工具像是 4P、STP、矩陣分析等都是輔助使用,而大數據等新行銷名詞就是幾年流行一次,萬法不離本宗,可以參加讀書會與不同行業的人切磋可以學到更多。

Google Tag Manager數據分析

埋碼小撇步,讓你的GTM更乾淨

前言

現今的數位行銷不管是從網站的事件追蹤或是廣告成效的追蹤,都需要追蹤碼的安裝設定,安裝流程也從早期需要透過資訊工程師的協助,到後來埋碼工具如GTM的推出與快速的普及,讓追蹤碼的埋設這件事情變得更有彈性。而伴隨著AI的興起,藉由傳遞更多的網站訊號給廣告系統,能讓廣告系統學的更快更好,進而提升廣告的成效,但隨著投遞的平台越來越多,可能會讓GTM的可閱讀性變差也讓之後的維護變複雜,下面舉個簡單的例子來說明。

假設今天我們有一個行銷活動,並為了這個行銷活動的宣傳做了一頁式的活動網頁,之後也會做為廣告投遞的到達頁面,為了追蹤客戶在網站上的行為,規劃了以下的追蹤事件來完整追蹤頁面的活動。

代碼名稱 說明
pageview 載入頁面
page_scroll_25 瀏覽頁面百分之 25
page_scroll_50 瀏覽頁面百分之 50
page_scroll_75 瀏覽頁面百分之 75
submit_btn 按下送出按鈕
thankupage 完成活動報名

埋碼規劃

在這個活動中,我們預計會先投放Google Ads以及Facebook的廣告,所以一開始我們會有三個明確的需求,除了最基本的將資料送回GA外,我們也希望讓廣告系統不只收到【完成活動報名】這個事件,而是可以收到過程中的每個事件來加速廣告系統的優化,因此我們將資料彙整到一個埋碼的對照表中,來最為後續埋碼的依據。

常見作法

筆者這邊採用GTM內建的【自訂HTML】類型來埋設Facebook的Pixel、【Google Ads 轉換追蹤】來追蹤Google Ads的轉換事件,加上標準的Google Analytics分析來完成上表的追蹤項目,這是目前常見的埋設方式,可以看到在每一個類別中搭配每一種廣告格式,我們都要針對每個類別分別新增六個代碼,當投放的廣告管道或追蹤的事件還不多時還容易處理,當隨著業務的發展帶動廣告渠道的多元化,加上網頁的追蹤埋設好埋滿的狀況下,整個GTM就會變得很複雜且難以維護,所以下面筆者將會介紹一個方式來減少代碼的數量,並讓埋碼的邏輯可以更一目了然且更易於維護。

作法介紹

接下來我們會透過四個步驟的設定來達成精簡且較易於維護的效果。

    1. 設定資料層變數
        • 首先我們需要先建立多個資料變數,透過選擇【變數】→ 新增【資料層變數】,至於資料層變數的原理可以請大家參考官方文件的說明。

        • 接下來我們會設定如下表的資料層變數,這邊的名稱可以自行設定,但是建議名稱能夠一眼辨識用途,方便後續取用。
      變數名稱 資料層變數名稱
      DL_GA_action GA_action
      DL_GA_category GA_category
      DL_GA_label GA_label
      DL_Adwords_conversion_id Adwords_conversion_id
      DL_Adwords_conversion_label Adwords_conversion_label

    2. 設定觸發事件
        • 我們新增兩個觸發條件,事件類型選擇自訂事件,事件名稱一樣可以自行取名,以清楚明瞭為主。


    3. 設定轉換追蹤
      • 我們透過之前設定好的資料層變數及觸發條件來設定轉換追蹤,我們新增一個【代碼類型】通用Analytics(分析),並設定追蹤類型為【事件】,並在下方的類別、動作及標籤帶入我們剛剛設定好的資料層變數,另外設定觸發條件為我們剛剛設定的自訂事件,設定完後如下圖所示。
      • 之後我們再新增一個代碼類型【Google Ads 轉換追蹤】,並設定其中的轉換 ID及轉換標籤使用前面設定好的資料層變數,觸發條件使用前面設定的自訂事件,設定內容後下圖所示。
    4. 設定代碼
      • 進到最後埋碼的設定,我們從pageview這個事件開始做設定,首先我們新增一個自訂Html,在頁面載入的時候先執行Facebook的標準埋碼並觸發自訂事件,並透過dataLayer.push 推送相關參數到 datalayer中,並由前面三步的自訂變數、觸發事件和代碼轉換追蹤就可以將原本要新增在三個代碼的作業合併在同一個代碼完成,而其中的對應關係可以參考下面的示意圖。
      • 接著我們要來設定三個頁面滾動的追蹤,這邊我們將原本的三個觸發事件合為一個,設定可以參考下圖,另外我們新增一個Scroll Depth Threshold的內建變數並新增一個自訂html的代碼,並引用上面設定好的捲動觸發條件。
      • 我們要埋入的代碼如下,跟前面相比其實我們只新增了一個IF的判斷條件來判斷目前滾動的深度,之後就按照我們對照表埋入各階段的參數值,後續的觸發程序就跟前面的pageview是一模一樣的。
      • 用相同的方式我們可以繼續設定最後兩個事件,只有在觸發條件和參數的部分會有不同,整體的架構基本是都是一樣的,透過這樣的埋碼方式,我們可以將原本18個代碼才能完成的的事情濃縮到6個代碼,並且後續如果要在加入其他廣告的渠道,也只需要在原有的架構上新增代碼即可,如果有投放多家DPA廣告的話,也能夠透過這樣的機制來精簡代碼的複雜度,對於之後維護也會有很大的助益。

最後附上兩個版本的GTM匯出檔給各位參考,有任何的想法也歡迎進一步交流囉。

點擊下載檔案

Google Tag Manager

[GTM 教學] 什麼是 Custom templates 自訂範本

ㄧ. 什麼是 GTM 自訂範本?

Custom templates allow you to write your own tag and variable definitions so that others within your organization can use them alongside the built-in tag and variable templates.  Google Tag Manager

Custom templates 用一句話來說就是將重複性的代碼轉為模板。

GTM 官方的解釋來說,就是提供客製化代碼的模板,讓使用者可以在模板化的情況下輸入變數,輕鬆的創建和共享自訂的 JavaScript 和 HTML 設置。

二. 設定教學

首先進入 GTM Custom templates 自訂模板後,可以看到四個細項可以選擇:

  • 資訊:資訊欄位是用來告訴使用者 templates 的使用功能和敘述,不管輸入什麼都不會影響到此模板接下來程式的執行
  • 欄位:用於設定使用者的介面
  • 程式碼:當此模板被觸發時,會執行的程式,細節待會會再補充
  • 權限:可用於限制程式碼擁有多少操作權限

1. 設定欄位:

點選 Custom templates 欄位後,使用新增欄位,能選擇的類型蠻多的,有文字、下拉式選單、CheckBox、按鈕……等,這邊使用文字輸入來介紹,選擇新增文字輸入欄位後,使用者會在介面上看到一個輸入文字的方框。

在輸入文字的上方點擊齒輪,可以看到更細項的設定,而將文字輸入的命名為 endPoint,這邊的命名在待會的程式碼會用到,可以留意一下。

另外也可以限制使用者輸入的值,例如增加驗證規則,這邊設定是讓使用者需輸入 https 的規則運算式。

關於更多 Custom templates 欄位的介紹可以參考 GTM 官方這篇:Custom templates quick start guide

2. 設定程式碼:

Custom templates 程式碼的部分是使用 2019/8月官方推出的 addEventCallback 這個 API 來寫的,功能簡單來說就是當觸發 dataLayer events 完成時,發送 request 到指定 URL,可用於製作判定事件完成與否的監控器。

關於更多其他的 Custom templates API 方法可以參考 GTM 官方這篇:Custom template APIs

此次完整程式碼如下:

// Require the necessary APIs
const addEventCallback = require('addEventCallback');
const readFromDataLayer = require('copyFromDataLayer');
const sendPixel = require('sendPixel');
const getTimestamp = require('getTimestamp');

// Get the dataLayer event that triggered the tag
const event = readFromDataLayer('event');

// Add a timestamp to separate events named the same way from each other
const eventTimestamp = getTimestamp();

const endPoint = data.endPoint;
const batchHits = data.batchHits === 'yes';
const maxTags = data.maxTags;

// Utility for splitting an array into multiple arrays of given size
const splitToBatches = (arr, size) => {
  const newArr = [];
  for (let i = 0, len = arr.length; i < len; i += size) {
    newArr.push(arr.slice(i, i + size));
  }
  return newArr;
};

// The addEventCallback gets two arguments: container ID and a data object with an array of tags that fired
addEventCallback((ctid, eventData) => {

  // Filter out tags that have the "exclude" metadata set to true
  const tags = eventData.tags.filter(t => t.exclude !== 'true');
  
  // If batching is enabled, split the tags into batches of the given size
  const batches = batchHits ? splitToBatches(tags, maxTags) : [tags];
  
  // For each batch, build a payload and dispatch to the endpoint as a GET request
  batches.forEach(tags => {
    let payload = '?eventName=' + event + '&eventTimestamp=' + eventTimestamp;
    
    tags.forEach((tag, idx) => {
      const tagPrefix = '&tag' + (idx + 1);
      payload +=
        tagPrefix + 'id=' + tag.id +
        tagPrefix + 'nm=' + tag.name +
        tagPrefix + 'st=' + tag.status +
        tagPrefix + 'et=' + tag.executionTime;
      
      log(['GTM_Tag Status'],tag.status);
    
    });
    log(['GTM_This is payload'],payload);
    
    sendPixel(endPoint + payload, null, null);
  });
});

// After adding the callback, signal tag completion
data.gtmOnSuccess();

// 代碼結束時呼叫 data.gtmOnSuccess。
data.gtmOnSuccess();

可以看到 const endPoint = data.endPoint; 這邊的 endPoint 就是使用者輸入的文字框內的值,這邊將參數附加在 endPoint 後面,最後再用Custom template 提供的 sendPixel API 來向指定的 URL 發送 GET 請求,最後代碼結束時需呼叫 data.gtmOnSuccess()

3. 設定權限:

從 Custom templates 權限內可以看到讀取資料庫的部分有輸入 event ,是因為我們在程式碼內有使用到 const event = readFromDataLayer(‘event’) 所以要給予 event 的權限。

關於更多 Custom templates 其他權限可以參考GTM官方這篇:Custom template permissions

4. 設定 GTM 代碼:

設定好 templates 後,你就可以在代碼內選取剛剛設定好的範本,而畫面就是剛剛我們在範本欄位內選擇的畫面,至於執行的程式就是我們剛剛寫入的範本程式。

基本上這樣就完成了一個 GTM 的 Monitor,最後只需要再將 Request GET 的部分將資料轉入資料庫就完成囉!

那 [GTM 教學] 什麼是Custom templates 自訂範本 就到這告一段落,如有任何問題歡迎留言!

此篇文章轉載至 Max行銷誌