要想GTM玩得溜,這些CSS選擇器必須會用

Photo of author
Written By CMO

HubSpot One在以往陸陸續續地介紹了許多GTM的小經驗和小竅門。如果你是HubSpot One的忠實讀者那麼,你對GTM一定不會陌生。作為Google Analytics 360套件中的尖刀組件,GTM承載著數據抓取得重任。以往我們承接到一個Web Analytics的項目時需要和客戶的前端工程師磕磕碰碰好久才能把代碼部署到HTML頁面中,而現在有了Google Tag Manager這些活被簡化到了“一片蛋糕”那麼簡單。我們只要將GTM的Container代碼發給客戶並讓他們統一放置到<body>開始標籤之後,剩下的我們就可以獨自完成。而我們獨自完成的部分也僅僅需要一兩小時,簡單的幾分鐘便可部署。這多虧了GTM的靈活性和易用性。本篇我們將繼續介紹GTM的“大殺器”之一的CSS選擇器(CSS Selector)功能,希望能夠進一步簡化各位網站分析師的布碼工作。

DOM元素在GTM中的表示

HTML是一個個DOM元素構成的,其中也插入了腳本和样式。每一個HTML標籤都可以認為是一個DOM元素(有例外,但請各位大神此處勿較真)。比如<H5>這才是H5! </H5>,這裡的H5代表第五層級的Heading。默認的樣式在每個瀏覽器中有所不同,而且你也可以用CSS來對其進行樣式的定義。在HubSpot One,它看上去就是這樣的。

這才是H3!

這才是H4!

這才是H5!

我們可以將樣式直接寫在H5標籤中,同樣我們也可以用CSS選擇器來對其進行修飾。比如下面的p.center就是一個CSS選擇器。它規定了class為center的p標籤必須居中並且用紅色字體。

p.center {
text-align: center;
color: red;
}

先科普一下,我們注意基本的CSS選擇器語法:

  • . 表示一個類,即class
  • # 表示元素的id
  • [] 表示屬性
  • > 表示直接子元素
  • 空格表示後代,子元素、子元素的子元素……
  • + 表示相鄰的兄弟元素

在現代瀏覽器中,在JavaScript中我們也可以使用document.querySelector(“.example”);來對某一個DOM元素進行定位。這比傳統的getElementsBy什麼的要好用得多。

在Google Tag Manager中,我們一樣可以使用CSS選擇器。前提是我們要先定義好Element的變量。變量的定義有多種方法比如你可以如下圖開啟Click Element這個默認的數據層變量。

Variables - Built-In Variables - CONFIGURE - Clicks - Click Element
Variables – Built-In Variables – CONFIGURE – Clicks – Click Element

當你需要針對錶單提交或表單操作時,你可以同時勾上Forms – Form Element。另一種方法是新建一個Variable選擇Page Elements中的Auto-Event Variable作為變量類型。不管怎麼說,這下我們就可以對這個元素進行選擇操作了。

說到選擇操作,我們一定知道我們必須新建一個觸發器也就是Trigger。那麼我們通過Triggers – New新建一個Trigger。然後選擇Click – All Elements作為類型。

選擇matches CSS selector並填入p.center
選擇matches CSS selector並填入p.center

這樣我們就有了一個觸發器了,這個觸發器的觸發條件是“當點擊class為center的p標籤元素”。如果你在瀏覽HubSpot One這篇文章的桌面版,你可以點擊上面“這才是H5!”你會發現一個彈出消息。這個彈出消息就是由一個應用了CSS選擇器的觸發器所觸發的。

CSS Selector+Trigger的GTM實例
CSS Selector+Trigger的GTM實例

那些超實用的CSS選擇器

你可能要說了,我現在明白了CSS選擇器在GTM中如何使用,那麼CSS選擇器本身有哪些用法呢?你可以參考W3CSchool來了解複雜的CSS選擇器用法。我們在此借鑒了Simo Ahava最新博文的成果為大家推薦幾個常用的CSS選擇器。

點擊外鏈

a[href*=”hubspot.one”]

這個例子說明點擊的<a></a>標籤的href屬性中包含HubSpot One的域名。當我們使用外鏈標記時記得要在條件中選擇does not match CSS selector。

移動頁面電話呼叫

a[href^=”tel:”]

當手機頁面上放置電話號碼鏈接讓用戶直接撥打時,我們可以使用這個CSS選擇器來統計用戶撥打次數和頁面環境訊息。

文件下載

a[href$=”.pdf”]

這個選擇器將統計鏈接後綴為pdf的點擊。同樣的,我們可以把它舉一反三地應用到,.exe和.apk。

點擊發送郵件

a[href^=”mailto:”],a[href^=”mailto:”]*

和我們上面的移動電話呼叫的例子相似,我們這裡用了mailto。這裡我們又重複了並在後面加上星號*是為了避免一些特殊的情況發生。這也是Simo指出的一大問題,因為DOM元素總是嵌套的,某些情況下真正接受到並被檢測的元素並不一定是<a>元素。

舉個例子:

<a href=”mailto:[email protected]”>
<span>[email protected]</span>
</a>

在這個情況下,被送去GTM檢測的DOM元素是<span>。如果我們僅僅用了a[href^=”mailto:”],那麼它並不能觸發標籤。於是後面那段重複加*就格外重要了。因為此時GTM還會檢測這個<span>元素是否在一個<a>元素內。

會玩了嗎?

以上就是我們要介紹的超快速部署網站統計的方法。只要你在網頁上點擊鼠標郵件檢查元素,大致了解網頁的HTML構造,你就可以輕鬆抓取用戶在網頁中的行為。同時只要你善用星號*,就可以比較好地解決DOM元素嵌套的問題。如果你還對GTM的CSS選擇器應用有所困惑,請務必一起探討。

要想深入了解CSS選擇器,你還可以參考Periscopix的精彩分析。傳送門

http://www.periscopix.co.uk/blog/new-gtm-trigger-condition-matches-css-selector/

感謝閱讀,感謝關注HubSpot One。