Tags: update

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:
  • boolean: The value represents a boolean, represented as 'true' or 'false'
  • integer: The value represents a 64-bit signed integer value, in base 10
  • list: A list of parameters should be specified
  • map: A map of parameters should be specified
  • template: The value represents any text; this can include variable references (even variable references that might return non-string types)
  • trigger_reference: The value represents a trigger, represented as the trigger id


Acceptable values are:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
  • "triggerReference"
writable
priority.type string The parameter type. Valid values are:
  • boolean: The value represents a boolean, represented as 'true' or 'false'
  • integer: The value represents a 64-bit signed integer value, in base 10
  • list: A list of parameters should be specified
  • map: A map of parameters should be specified
  • template: The value represents any text; this can include variable references (even variable references that might return non-string types)
  • trigger_reference: The value represents a trigger, represented as the trigger id


Acceptable values are:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
  • "triggerReference"
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.