需要授权
请求
HTTP 请求
PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/triggers/triggerId
参数
参数名称 | 值 | 说明 |
---|---|---|
路径参数 | ||
accountId |
string |
GTM 帐号 ID。 |
containerId |
string |
GTM 容器 ID。 |
triggerId |
string |
GTM 触发器 ID。 |
可选查询参数 | ||
fingerprint |
string |
此指纹(如果提供)必须与所存储触发器的指纹匹配。 |
授权
此请求需要获得下列范围的授权(详细了解身份验证和授权)。
范围 |
---|
https://www.googleapis.com/auth/tagmanager.edit.containers |
请求正文
在请求正文中,请提供一项具有以下属性的 Triggers 资源:
属性名称 | 值 | 说明 | 备注 |
---|---|---|---|
必需属性 | |||
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 |
参数类型。有效值包括:
可接受的值包括:
|
可写入 |
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 |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
checkValidation |
nested object |
我们是否应仅在表单提交或链接点击事件未被其他事件处理脚本取消(例如,由于验证)的情况下触发代码。仅对表单提交和链接点击触发器有效。 | 可写入 |
checkValidation.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
checkValidation.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
checkValidation.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
checkValidation.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
continuousTimeMinMilliseconds |
nested object |
可见性触发器的连续可见时间下限(以毫秒为单位)。仅对 AMP 可见性触发器有效。 | 可写入 |
continuousTimeMinMilliseconds.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
continuousTimeMinMilliseconds.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
continuousTimeMinMilliseconds.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
continuousTimeMinMilliseconds.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
customEventFilter[] |
list |
用于在所有条件均为 true 时被触发的自定义事件。 | 可写入 |
customEventFilter[].parameter[].key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
customEventFilter[].parameter[].list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
customEventFilter[].parameter[].map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
customEventFilter[].parameter[].value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
eventName |
nested object |
触发的 GTM 事件的名称。仅对计时器触发器有效。 | 可写入 |
eventName.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
eventName.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
eventName.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
eventName.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
filter[] |
list |
此触发器仅在所有条件均为 true 时触发。 | 可写入 |
filter[].parameter[].key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
filter[].parameter[].list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
filter[].parameter[].map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
filter[].parameter[].value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
horizontalScrollPercentageList |
nested object |
滚动触发器的整数百分比值列表。视图水平滚动时,该触发器会在达到每个百分比时触发。仅对 AMP 滚动触发器有效。 | 可写入 |
horizontalScrollPercentageList.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
horizontalScrollPercentageList.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
horizontalScrollPercentageList.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
horizontalScrollPercentageList.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
interval |
nested object |
周期性计时器事件的触发间隔(以毫秒为单位)。仅对计时器触发器有效。 | 可写入 |
interval.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
interval.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
interval.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
interval.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
intervalSeconds |
nested object |
计时器事件的触发间隔(以秒为单位)。仅对 AMP 计时器触发器有效。 | 可写入 |
intervalSeconds.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
intervalSeconds.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
intervalSeconds.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
intervalSeconds.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
limit |
nested object |
此计时器触发器会触发的 GTM 事件数量限制。如果未设置限制,则在用户离开页面之前,我们将持续触发 GTM 事件。仅对计时器触发器有效。 | 可写入 |
limit.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
limit.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
limit.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
limit.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
maxTimerLengthSeconds |
nested object |
表示最多等待多长时间就必须触发计时器事件(以秒为单位)。仅对 AMP 计时器触发器有效。 | 可写入 |
maxTimerLengthSeconds.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
maxTimerLengthSeconds.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
maxTimerLengthSeconds.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
maxTimerLengthSeconds.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
parameter[].key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
parameter[].list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
parameter[].map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
parameter[].value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
selector |
nested object |
点击触发器的 CSS 选择器(即“a”、“button”等)。仅对 AMP 点击触发器有效。 | 可写入 |
selector.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
selector.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
selector.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
selector.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
totalTimeMinMilliseconds |
nested object |
可见性触发器的总可见时间下限(以毫秒为单位)。仅对 AMP 可见性触发器有效。 | 可写入 |
totalTimeMinMilliseconds.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
totalTimeMinMilliseconds.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
totalTimeMinMilliseconds.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
totalTimeMinMilliseconds.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
type |
string |
用于指定触发此触发器的数据层事件。
可接受的值包括:
|
可写入 |
uniqueTriggerId |
nested object |
自动生成此属性的触发器(表单提交、链接点击或计时器监听器)的全局唯一 ID(如果有)。对于根据触发器 ID 执行过滤操作的触发器,使用此属性可让其触发不兼容的自动事件。系统会在输出生成期间填充此值,因为触发器隐含的代码在此之前并不存在。仅对表单提交、链接点击和计时器触发器有效。 | 可写入 |
uniqueTriggerId.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
uniqueTriggerId.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
uniqueTriggerId.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
uniqueTriggerId.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
verticalScrollPercentageList |
nested object |
滚动触发器的整数百分比值列表。视图垂直滚动时,该触发器会在达到每个百分比时触发。仅对 AMP 滚动触发器有效。 | 可写入 |
verticalScrollPercentageList.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
verticalScrollPercentageList.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
verticalScrollPercentageList.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
verticalScrollPercentageList.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
visibilitySelector |
nested object |
可见性触发器的 CSS 选择器(例如“#id”)。仅对 AMP 可见性触发器有效。 | 可写入 |
visibilitySelector.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
visibilitySelector.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
visibilitySelector.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
visibilitySelector.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
visiblePercentageMax |
nested object |
可见性触发器的可见性百分比上限。仅对 AMP 可见性触发器有效。 | 可写入 |
visiblePercentageMax.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
visiblePercentageMax.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
visiblePercentageMax.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
visiblePercentageMax.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
visiblePercentageMin |
nested object |
可见性触发器的可见性百分比下限。仅对 AMP 可见性触发器有效。 | 可写入 |
visiblePercentageMin.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
visiblePercentageMin.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
visiblePercentageMin.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
visiblePercentageMin.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
waitForTags |
nested object |
我们是否应将表单提交或链接打开时间延迟到所有代码均已触发之时(通过阻止默认操作,稍后再模拟默认操作)。仅对表单提交和链接点击触发器有效。 | 可写入 |
waitForTags.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
waitForTags.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
waitForTags.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
waitForTags.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
waitForTagsTimeout |
nested object |
当上面的“waits_for_tags”的计算结果为 true 时,用多长时间来等待代码触发(以毫秒为单位)。仅对表单提交和链接点击触发器有效。 |
可写入 |
waitForTagsTimeout.key |
string |
唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 | 可写入 |
waitForTagsTimeout.list[] |
list |
该列表参数的参数(键将被忽略)。 | 可写入 |
waitForTagsTimeout.map[] |
list |
该映射参数的参数(必须提供键;且键必须具有唯一性)。 | 可写入 |
waitForTagsTimeout.value |
string |
参数的值(可以包含变量引用,例如“{{myVariable}}”),具体的值要视所指定的类型而定。 | 可写入 |
响应
如果成功,此方法将在响应正文中返回一项 Triggers 资源。
示例
备注:为此方法提供的代码示例并未涵括所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库。
/* * Note: This code assumes you have an authorized tagmanager service object. */ /* * This request updates an existing 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("Updated 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().update("123456", "54321", "1", trigger).execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } /* * The results of the update method are stored in the response object. * The following code shows how to access the updated name and fingerprint. */ System.out.println("Updated Name = " + response.getName()); System.out.println("Updated Fingerprint = " + response.getFingerprint());
Python
使用 Python 客户端库。
# Note: This code assumes you have an authorized tagmanager service object. # This request updates an existing trigger. try: response = tagmanager.accounts().containers().triggers().update( accountId='123456', containerId='54321', triggerId='3', body={ 'name': 'Updated 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 update method are stored in the response object. # The following code shows how to access the updated name and fingerprint. print 'Updated Name = %s' % response.get('name') print 'Updated Fingerprint = %s' % response.get('fingerprint')
试试看!
不妨使用下面的 API Explorer 对实际数据调用此方法,然后看看响应结果。