需要授權
要求
HTTP 要求
POST https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/tags
參數
參數名稱 | 值 | 說明 |
---|---|---|
路徑參數 | ||
accountId |
string |
GTM 帳戶 ID。 |
containerId |
string |
GTM 容器 ID。 |
授權
這項要求需要下列範圍的授權 (進一步瞭解驗證和授權)。
範圍 |
---|
https://www.googleapis.com/auth/tagmanager.edit.containers |
要求主體
在要求主體中,提供具有以下屬性的標記資源:
資源名稱 | 值 | 說明 | 附註 |
---|---|---|---|
必要屬性 | |||
name |
string |
代碼顯示名稱。 | 可寫入 |
parameter[].type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
priority.type |
string |
參數類型。有效值如下:
可接受的值為:
|
可寫入 |
type |
string |
GTM 代碼類型。 | 可寫入 |
選用屬性 | |||
blockingRuleId[] |
list |
封鎖規則 ID。如果清單中的任何規則評估結果為 true,代碼就不會觸發。 | 可寫入 |
blockingTriggerId[] |
list |
封鎖觸發條件 ID。如果清單中的任何觸發條件評估結果為 true,代碼就不會觸發。 | 可寫入 |
firingRuleId[] |
list |
觸發規則 ID。只要列出的規則為 true,且其所有 blockingRuleIds (如有指定) 皆為 false,標記就會觸發。 |
可寫入 |
firingTriggerId[] |
list |
觸發條件 ID。如果列出的觸發條件其中一項為 true,blockingTriggerIds (如果有的話) 全都為 false,代碼就會觸發。 |
可寫入 |
liveOnly |
boolean |
如果設為 true,這個代碼只會在實際環境中觸發 (例如在預覽或偵錯模式下)。 | 可寫入 |
notes |
string |
使用者在容器中套用這個代碼的附註。 | 可寫入 |
parameter[] |
list |
代碼的參數。 | 可寫入 |
parameter[].key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
parameter[].list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
parameter[].map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
parameter[].value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
paused |
boolean |
如果代碼暫停,則為 True。 | 可寫入 |
priority |
nested object |
使用者定義的代碼數字優先順序。代碼會按照優先順序以非同步方式觸發。數值較高的代碼會先觸發。標記的優先順序可以是正值或負值。預設值為 0。 | 可寫入 |
priority.key |
string |
唯一識別參數的已命名鍵。必須用於頂層參數和對應值。清單值會忽略。 | 可寫入 |
priority.list[] |
list |
此清單參數的參數 (系統會忽略鍵)。 | 可寫入 |
priority.map[] |
list |
此對應參數的參數 (必須有鍵,鍵不得重複)。 | 可寫入 |
priority.value |
string |
適合指定類型的參數值 (可能包含「」等變數參照。 | 可寫入 |
scheduleEndMs |
long |
排定代碼的結束時間戳記 (以毫秒為單位)。 | 可寫入 |
scheduleStartMs |
long |
排定代碼的開始時間戳記 (以毫秒為單位)。 | 可寫入 |
回應
如果成功,這個方法會在回應主體中傳回標記資源。
範例
注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面。
Java
使用 Java 用戶端程式庫。
/* * Note: This code assumes you have an authorized tagmanager service object. */ /* * This request creates a new tag. */ // Construct the parameters. Parameter arg0 = new Parameter(); arg0.setType("template"); arg0.setKey("trackingId"); arg0.setValue("UA-123456-1"); Parameter arg1 = new Parameter(); arg1.setType("template"); arg1.setKey("type"); arg1.setValue("TRACK_TRANSACTION"); // Construct the tag object. Tag tag = new Tag(); tag.setName("Sample Universal Analytics Tag"); tag.setType("ua"); tag.setLiveOnly(false); tag.setParameter(Arrays.asList(arg0, arg1)); try { Tag response = tagmanager.accounts().containers(). tags().create("123456", "54321", tag).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 response object. * The following code shows how to access the created id and fingerprint. */ System.out.println("Tag id = " + response.getTagId()); System.out.println("Tag Fingerprint = " + response.getFingerprint());
Python
使用 Python 用戶端程式庫。
# Note: This code assumes you have an authorized tagmanager service object. # This request creates a new container tag. try: response = tagmanager.accounts().containers().tags().create( accountId='123456', containerId='54321', body={ 'name': 'Universal Analytics Tag', 'type': 'ua', 'liveOnly': False, 'parameter': [ { 'type': 'template', 'key': 'trackingId', 'value': 'UA-123456-1' }, { 'type': 'template', 'key': 'type', 'value': 'TRACK_TRANSACTION' } ] } ).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 the response object. # The following code shows how to access the created id and fingerprint. print response.get('tagId') print response.get('fingerprint')
試試看!
您可以使用下方的 APIs Explorer,針對即時資料呼叫這個方法,然後查看回應。