Requires authorization
Updates a GTM rule. Try it now or see an example.
Request
HTTP request
PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/rules/ruleId
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
accountId |
string |
The GTM Account ID. |
containerId |
string |
The GTM Container ID. |
ruleId |
string |
The GTM Rule ID. |
Optional query parameters | ||
fingerprint |
string |
When provided, this fingerprint must match the fingerprint of the rule 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 Rules resource with the following properties:
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | |||
condition[].parameter[] |
list |
A list of named parameters (key/value), depending on the condition's type. Notes:
|
writable |
condition[].parameter[].type |
string |
The parameter type. Valid values are:
Acceptable values are:
|
writable |
condition[].type |
string |
The type of operator for this condition.
Acceptable values are:
|
writable |
Optional Properties | |||
condition[] |
list |
The list of conditions that make up this rule (implicit AND between them). | writable |
condition[].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 |
condition[].parameter[].list[] |
list |
This list parameter's parameters (keys will be ignored). | writable |
condition[].parameter[].map[] |
list |
This map parameter's parameters (must have keys; keys must be unique). | writable |
condition[].parameter[].value |
string |
A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type. | writable |
name |
string |
Rule display name. | writable |
notes |
string |
User notes on how to apply this rule in the container. | writable |
Response
If successful, this method returns a Rules 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 rule for the authorized user. */ // Construct the condition parameters. Parameter arg0 = new Parameter(); arg0.setType("template"); arg0.setKey("arg0"); arg0.setValue("{{url}}"); Parameter arg1 = new Parameter(); arg1.setType("template"); arg1.setKey("arg1"); arg1.setValue(".*hellowworld.html"); // Construct the condition object Condition condition = new Condition(); condition.setType("endsWith"); condition.setParameter(Arrays.asList(arg0, arg1)); // Construct the rule object. Rule rule = new Rule(); rule.setName("Updated Rule"); rule.setCondition(Arrays.asList(condition)); try { Rule response = tagmanager.accounts().containers(). rules().update("123456", "54321", "2", rule).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 rule for the authorized user. try: response = tagmanager.accounts().containers().rules().update( accountId='123456', containerId='54321', ruleId='2', body={ 'name': 'Updated Ends with Rule', 'condition': [ { 'type': 'endsWith', 'parameter': [ { 'type': 'template', 'key': 'arg0', 'value': '{{url}}' }, { 'type': 'template', 'key': 'arg1', 'value': '.*hellowworld.html' } ] } ] } ).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.