2015-11-03 66 views
0

所以我有一些需要在WordPress博客頁面上觸發的東西,但URL中沒有任何內容可以幫助識別它們。基於div的火標記

存在什麼是內容差異。

有沒有辦法根據特定div的存在來觸發標籤(或事件先發生,然後觸發該事件)?例如只存在於我想要啓動標籤的頁面上。

任何想法?

+0

Worpress將id放在頁面277等body元素中,只是用'#page-277 div.mydiv'來過濾頁面。 – Carlos2W

+0

所以它確實有.page-id-319,但我仍然不確定如何在gtm中激發一個標籤,使其不存在.page-id。有什麼想法嗎? – Topher

回答

2

使用帶有DOM類型自定義變量的瀏覽量觸發器。 I.E.去變量,新建,選擇「DOM Element」,將元素設置爲「body」,將屬性名稱設置爲「class」。然後創建一個新的觸發器,選擇「pageview」,設置爲「在某些頁面上觸發」,選擇條件爲你的自定義變量,matchtype「contains」和類名稱(即「page-321」) - WP在身體上使用多個類所以你必須使用「contains」而不是「equals」作爲匹配類型。

如果您已將GTM代碼放入標題中,則必須將瀏覽量觸發器切換爲在「DomReady」上觸發(如果您已爲每個文檔實施GTM,則GTM代碼位於body標籤之後,以使默認設置有效)。

+0

Google更改了建議,現在GTM代碼應該放在標題中。所以括號中的最後一位不再是真的。 –

1

是的,有一種方法,您需要使用自定義事件觸發dataLayer。

我假設您想要檢測的div在DOM Ready中可用並且被稱爲'mydiv'。只要檢測「mydiv」是否存在,如果它不推這樣一個事件,數據層:

if(document.getElementById('mydiv')){ 
    dataLayer.push({'event':'mydiv_exists'}); 
} 

你可以把這個代碼在許多不同的位置,但你最好的選擇可能是把它放在GTM作爲「自定義HTML'標籤在所有頁面上觸發。

然後,您可以創建類型爲'自定義事件'的觸發器,該觸發器查找事件名稱'mydiv_exists',並且可以配置其他標記以觸發此觸發器。

如果需要,您還可以在此事件的同時將其他數據推送到dataLayer中。