Requires authorization
Updates a GTM tag. Try it now or see an example.
Request
HTTP request
PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/tags/tagId
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
accountId |
string |
The GTM Account ID. |
containerId |
string |
The GTM Container ID. |
tagId |
string |
The GTM Tag ID. |
Optional query parameters | ||
fingerprint |
string |
When provided, this fingerprint must match the fingerprint of the tag in storage. |
Authorization
This request requires authorization with the following scope (read more about authentication and authorization).
Scope |
---|
https://www.googleapis.com/auth/tagmanager.edit.containers |
Request body
In the request body, supply a Tags resource with the following properties:
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | |||
name |
string |
Tag display name. | writable |
parameter[].type |
string |
The parameter type. Valid values are:
Acceptable values are:
|
writable |
priority.type |
string |
The parameter type. Valid values are:
Acceptable values are:
|
writable |
Optional Properties | |||
blockingRuleId[] |
list |
Blocking rule IDs. If any of the listed rules evaluate to true, the tag will not fire. | writable |
blockingTriggerId[] |
list |
Blocking trigger IDs. If any of the listed triggers evaluate to true, the tag will not fire. | writable |
firingRuleId[] |
list |
Firing rule IDs. A tag will fire when any of the listed rules are true and all of its blockingRuleIds (if any specified) are false. |
writable |
firingTriggerId[] |
list |
Firing trigger IDs. A tag will fire when any of the listed triggers are true and all of its blockingTriggerIds (if any specified) are false. |
writable |
liveOnly |
boolean |
If set to true, this tag will only fire in the live environment (e.g. not in preview or debug mode). | writable |
notes |
string |
User notes on how to apply this tag in the container. | writable |
parameter[] |
list |
The tag's parameters. | writable |
parameter[].key |
string |
The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values. | writable |
parameter[].list[] |
list |
This list parameter's parameters (keys will be ignored). | writable |
parameter[].map[] |
list |
This map parameter's parameters (must have keys; keys must be unique). | writable |
parameter[].value |
string |
A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type. | writable |
paused |
boolean |
True if the tag is paused. | writable |
priority |
nested object |
User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0. | writable |
priority.key |
string |
The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values. | writable |
priority.list[] |
list |
This list parameter's parameters (keys will be ignored). | writable |
priority.map[] |
list |
This map parameter's parameters (must have keys; keys must be unique). | writable |
priority.value |
string |
A parameter's value (may contain variable references such as "{{myVariable}}") as appropriate to the specified type. | writable |
scheduleEndMs |
long |
The end timestamp in milliseconds to schedule a tag. | writable |
scheduleStartMs |
long |
The start timestamp in milliseconds to schedule a tag. | writable |
type |
string |
GTM Tag Type. | writable |
Response
If successful, this method returns a Tags resource in the response body.
Examples
Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).
Java
Uses the Java client library.
/* * Note: This code assumes you have an authorized tagmanager service object. */ /* * This request updates an existing tag for the authorized user. */ // 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.setType("ua"); tag.setLiveOnly(false); tag.setParameter(Arrays.asList(arg0, arg1)); try { Tag response = tagmanager.accounts(). containers().tags().update("123456", "54321", "1", tag).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
Uses the Python client library.
# Note: This code assumes you have an authorized tagmanager service object. # This request updates an existing new container tag. try: response = tagmanager.accounts().containers().tags().update( accountId='123456', containerId='54321', tagId='1', 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 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')
Try it!
Use the APIs Explorer below to call this method on live data and see the response.