需要授權
要求
HTTP 要求
POST https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/triggers
參數
參數名稱 | 值 | 說明 |
---|---|---|
路徑參數 | ||
accountId |
string |
GTM 帳戶 ID。 |
containerId |
string |
GTM 容器 ID。 |
授權
這項要求需要下列範圍的授權 (進一步瞭解驗證和授權)。
範圍 |
---|
https://www.googleapis.com/auth/tagmanager.edit.containers |
要求主體
在要求內文中,提供觸發條件資源並附上以下屬性:
資源名稱 | 值 | 說明 | 附註 |
---|---|---|---|
必要屬性 | |||
autoEventFilter[].parameter[] |
list |
根據條件類型而定的已命名參數 (鍵/值) 清單。附註:
|
可寫入 |
autoEventFilter[].parameter[].type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
autoEventFilter[].type |
string |
此條件的運算子類型。
可接受的值為:
|
可寫入 |
checkValidation.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
continuousTimeMinMilliseconds.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
customEventFilter[].parameter[] |
list |
根據條件類型而定的已命名參數 (鍵/值) 清單。附註:
|
可寫入 |
customEventFilter[].parameter[].type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
customEventFilter[].type |
string |
此條件的運算子類型。
可接受的值為:
|
可寫入 |
eventName.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
filter[].parameter[] |
list |
根據條件類型而定的已命名參數 (鍵/值) 清單。附註:
|
可寫入 |
filter[].parameter[].type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
filter[].type |
string |
此條件的運算子類型。
可接受的值為:
|
可寫入 |
horizontalScrollPercentageList.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
interval.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
intervalSeconds.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
limit.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
maxTimerLengthSeconds.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
name |
string |
觸發條件顯示名稱。 | 可寫入 |
parameter[].type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
selector.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
totalTimeMinMilliseconds.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
type |
string |
定義導致此觸發條件的資料層事件。 可接受的值為:
|
可寫入 |
uniqueTriggerId.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
verticalScrollPercentageList.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
visibilitySelector.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
visiblePercentageMax.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
visiblePercentageMin.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
waitForTags.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
waitForTagsTimeout.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
選用屬性 | |||
autoEventFilter[] |
list |
用於自動事件追蹤。 | 可寫入 |
autoEventFilter[].parameter[].key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
autoEventFilter[].parameter[].list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
autoEventFilter[].parameter[].map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
autoEventFilter[].parameter[].value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
checkValidation |
nested object |
是否只有在其他事件處理常式 (例如驗證後) 未取消提交表單或連結點擊事件的情況下,才應觸發代碼。僅適用於「表單提交」和「連結點擊」觸發條件。 | 可寫入 |
checkValidation.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
checkValidation.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
checkValidation.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
checkValidation.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
continuousTimeMinMilliseconds |
nested object |
瀏覽權限觸發條件的連續顯示時間下限 (以毫秒為單位)。僅適用於 AMP 瀏覽權限觸發條件。 | 可寫入 |
continuousTimeMinMilliseconds.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
continuousTimeMinMilliseconds.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
continuousTimeMinMilliseconds.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
continuousTimeMinMilliseconds.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
customEventFilter[] |
list |
用於自訂事件,在所有條件為 True 時觸發。 | 可寫入 |
customEventFilter[].parameter[].key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
customEventFilter[].parameter[].list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
customEventFilter[].parameter[].map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
customEventFilter[].parameter[].value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
eventName |
nested object |
所觸發 GTM 事件的名稱。僅適用於計時器觸發條件。 | 可寫入 |
eventName.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
eventName.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
eventName.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
eventName.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
filter[] |
list |
只有在所有條件都符合時,觸發條件才會啟動。 | 可寫入 |
filter[].parameter[].key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
filter[].parameter[].list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
filter[].parameter[].map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
filter[].parameter[].value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
horizontalScrollPercentageList |
nested object |
捲動觸發條件的整數百分比值清單。水平捲動瀏覽各百分比時,觸發條件就會啟動。僅適用於 AMP 捲動觸發條件。 | 可寫入 |
horizontalScrollPercentageList.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
horizontalScrollPercentageList.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
horizontalScrollPercentageList.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
horizontalScrollPercentageList.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
interval |
nested object |
觸發週期性計時器事件的間隔時間 (以毫秒為單位)。僅適用於計時器觸發條件。 | 可寫入 |
interval.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
interval.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
interval.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
interval.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
intervalSeconds |
nested object |
觸發計時器事件的間隔時間 (以秒為單位)。僅適用於 AMP 計時器觸發條件。 | 可寫入 |
intervalSeconds.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
intervalSeconds.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
intervalSeconds.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
intervalSeconds.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
limit |
nested object |
限制這個計時器觸發條件要觸發的 GTM 事件數量。如未設定限制,我們會繼續觸發 GTM 事件,直到使用者離開網頁為止。僅適用於計時器觸發條件。 | 可寫入 |
limit.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
limit.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
limit.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
limit.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
maxTimerLengthSeconds |
nested object |
觸發計時器事件的最長時間 (以秒為單位)。僅適用於 AMP 計時器觸發條件。 | 可寫入 |
maxTimerLengthSeconds.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
maxTimerLengthSeconds.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
maxTimerLengthSeconds.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
maxTimerLengthSeconds.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
parameter[].key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
parameter[].list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
parameter[].map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
parameter[].value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
selector |
nested object |
點擊觸發條件 CSS 選取器 (例如「a」、「按鈕」等)。僅適用於 AMP 點擊觸發條件。 | 可寫入 |
selector.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
selector.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
selector.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
selector.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
totalTimeMinMilliseconds |
nested object |
顯示設定觸發條件的最少可視時間總數 (以毫秒為單位)。僅適用於 AMP 瀏覽權限觸發條件。 | 可寫入 |
totalTimeMinMilliseconds.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
totalTimeMinMilliseconds.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
totalTimeMinMilliseconds.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
totalTimeMinMilliseconds.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
uniqueTriggerId |
nested object |
自動產生此觸發條件 (「表單提交」、「連結點擊」或「計時器」事件監聽器) 的全域專屬 ID (如果有的話)。用於讓不相容的自動事件,搭配觸發條件 ID 的觸發條件篩選功能搭配使用。在產生輸出時填入這個值,因為觸發條件所隱含的代碼必須等到之後才存在。僅適用於表單提交、連結點擊和計時器觸發條件。 | 可寫入 |
uniqueTriggerId.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
uniqueTriggerId.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
uniqueTriggerId.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
uniqueTriggerId.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
verticalScrollPercentageList |
nested object |
捲動觸發條件的整數百分比值清單。以垂直捲動方式捲動瀏覽皆達到每個百分比時,觸發條件就會啟動。僅適用於 AMP 捲動觸發條件。 | 可寫入 |
verticalScrollPercentageList.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
verticalScrollPercentageList.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
verticalScrollPercentageList.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
verticalScrollPercentageList.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
visibilitySelector |
nested object |
瀏覽權限觸發條件 CSS 選取器 (例如「#id」)。僅適用於 AMP 瀏覽權限觸發條件。 | 可寫入 |
visibilitySelector.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
visibilitySelector.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
visibilitySelector.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
visibilitySelector.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
visiblePercentageMax |
nested object |
瀏覽權限觸發條件百分比設定上限。僅適用於 AMP 瀏覽權限觸發條件。 | 可寫入 |
visiblePercentageMax.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
visiblePercentageMax.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
visiblePercentageMax.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
visiblePercentageMax.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
visiblePercentageMin |
nested object |
可見度觸發條件的最低顯示設定百分比。僅適用於 AMP 瀏覽權限觸發條件。 | 可寫入 |
visiblePercentageMin.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
visiblePercentageMin.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
visiblePercentageMin.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
visiblePercentageMin.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
waitForTags |
nested object |
是否應將提交表單或連結開啟時間延後到所有代碼都觸發為止 (避免預設動作,之後再模擬預設動作)。僅適用於「表單提交」和「連結點擊」觸發條件。 | 可寫入 |
waitForTags.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
waitForTags.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
waitForTags.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
waitForTags.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
waitForTagsTimeout |
nested object |
當上述「waits_for_tags」評估為 true 時,代碼要觸發的時間長度 (以毫秒為單位)。僅適用於「表單提交」和「連結點擊」觸發條件。 |
可寫入 |
waitForTagsTimeout.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
waitForTagsTimeout.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
waitForTagsTimeout.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
waitForTagsTimeout.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
回應
如果成功,這個方法會在回應主體中傳回觸發條件資源。
範例
注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面。
Java
使用 Java 用戶端程式庫。
/* * Note: This code assumes you have an authorized tagmanager service object. */ /* * This request creates a new trigger for the authorized user. */ // Create the condition parameters objects. Parameter arg0 = new Parameter(); arg0.setType("template"); arg0.setKey("arg0"); arg0.setValue("{{Page URL}}"); Parameter arg1 = new Parameter(); arg1.setType("template"); arg1.setKey("arg1"); arg1.setValue("timed.html"); // Create the auto event condition object. Condition condition = new Condition(); condition.setType("contains"); condition.setParameter(Arrays.asList(arg0, arg1)); // Create the event parameter. Parameter eventName = new Parameter(); eventName.setType("template"); eventName.setValue("gtm.timer"); // Create the interval parameter. Parameter interval = new Parameter(); interval.setType("template"); interval.setValue("10000"); // Create the limit parameter. Parameter limit = new Parameter(); limit.setType("template"); limit.setValue("10"); // Create the trigger object. Trigger trigger = new Trigger(); trigger.setName("Timer Trigger"); trigger.setType("timer"); trigger.setAutoEventFilter(Arrays.asList(condition)); trigger.setEventName(eventName); trigger.setInterval(interval); trigger.setLimit(limit); try { Trigger response = tagmanager.accounts().containers(). triggers().create("123456", "54321", trigger).execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } /* * The results of the create method are stored in the response object. * The following code shows how to access the created Id and Fingerprint. */ System.out.println("Trigger Id = " + response.getTriggerId()); System.out.println("Trigger Fingerprint = " + response.getFingerprint());
Python
使用 Python 用戶端程式庫。
# Note: This code assumes you have an authorized tagmanager service object. # This request creates a new trigger. try: response = tagmanager.accounts().containers().triggers().create( accountId='123456', containerId='54321', body={ 'name': 'Timed trigger', 'type': 'timer', 'autoEventFilter': [ { 'type': 'contains', 'parameter': [ { 'type': 'template', 'key': 'arg0', 'value': '{{Page URL}}' }, { 'type': 'template', 'key': 'arg1', 'value': 'timed.html' } ] } ], 'eventName': { 'type': 'template', 'value': 'gtm.timer' }, 'interval': { 'type': 'template', 'value': '10000' }, 'limit': { 'type': 'template', 'value': '10' } } ).execute() except TypeError, error: # Handle errors in constructing a query. print 'There was an error in constructing your query : %s' % error except HttpError, error: # Handle API errors. print ('There was an API error : %s : %s' % (error.resp.status, error.resp.reason)) # The results of the create method are stored in response object. # The following code shows how to access the created id and fingerprint. print 'Trigger Id = %s' % response.get('triggerId') print 'Trigger Fingerprint = %s' % response.get('fingerprint')
試試看!
您可以使用下方的 APIs Explorer,針對即時資料呼叫這個方法,然後查看回應。