Requires authorization
Creates a GTM macro. Try it now or see an example.
Request
HTTP request
POST https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/macros
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
accountId |
string |
The GTM Account ID. |
containerId |
string |
The GTM Container ID. |
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 Macros resource with the following properties:
Property name | Value | Description | Notes |
---|---|---|---|
Required Properties | |||
name |
string |
Macro display name. | writable |
parameter[].type |
string |
The parameter type. Valid values are:
Acceptable values are:
|
writable |
type |
string |
GTM Macro Type. | writable |
Optional Properties | |||
disablingRuleId[] |
list |
For mobile containers only: A list of rule IDs for disabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set. | writable |
enablingRuleId[] |
list |
For mobile containers only: A list of rule IDs for enabling conditional macros; the macro is enabled if one of the enabling rules is true while all the disabling rules are false. Treated as an unordered set. | writable |
notes |
string |
User notes on how to apply this macro in the container. | writable |
parameter[] |
list |
The macro'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 macro references such as "{{myMacro}}") as appropriate to the specified type. | writable |
scheduleEndMs |
long |
The end timestamp in milliseconds to schedule a macro. | writable |
scheduleStartMs |
long |
The start timestamp in milliseconds to schedule a macro. | writable |
Response
If successful, this method returns a Macros 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 creates a new macro for the authorized user. */ // Construct the macro object. Macro macro = new Macro(); macro.setName("Sample URL Macro"); macro.setType("u"); // Construct the parameters. Parameter arg0 = new Parameter(); arg0.setType("template"); arg0.setKey("component"); arg0.setValue("URL"); Parameter arg1 = new Parameter(); arg1.setType("template"); arg1.setKey("customUrlSource"); arg1.setValue("{{element}}"); // set the parameters on the macro. macro.setParameter(Arrays.asList(arg0, arg1)); try { Macro response = tagmanager.accounts(). containers().macros().create("123456", "54321", macro).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 the response object. * The following code shows how to access the created Id and Fingerprint. */ System.out.println("Macro Id = " + response.getMacroId()); System.out.println("Macro Fingerprint = " + response.getFingerprint());
Python
Uses the Python client library.
# Note: This code assumes you have an authorized tagmanager service object. # This request creates a new macro for the authorized user. try: response = tagmanager.accounts().containers().macros().create( accountId='123456', containerId='54321', body={ 'name': 'Sample URL Macro', 'type': 'u', 'parameter': [ { 'type': 'template', 'key': 'component', 'value': 'URL' }, { 'type': 'template', 'key': 'customUrlSource', 'value': '{{element}}' } ] } ).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 'Macro Id = %s' % response.get('macroId') print 'Macro Fingerprint = %s' % response.get('fingerprint')
Try it!
Use the APIs Explorer below to call this method on live data and see the response.