Macros: list

Requires authorization

Lists all GTM macros of a container. Try it now or see an example.

Request

HTTP request

GET 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 at least one of the following scopes (read more about authentication and authorization).

Scope
https://www.googleapis.com/auth/tagmanager.readonly
https://www.googleapis.com/auth/tagmanager.edit.containers

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a response body with the following structure:

{
  "macros": [
    accounts.containers.macros Resource
  ]
}
Property name Value Description Notes
macros[] list All GTM Macros of a GTM Container.

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 requests lists all macros for the authorized user.
 */
try {
  ListMacrosResponse macros = tagmanager.accounts().containers().
      macros().list("123456", "54321").execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

/*
 * The results of the list method are stored in the macros object.
 * The following code shows how to iterate through them.
 */
for (Macro macro : macros.getMacros()) {
  System.out.println("Account Id = " + macro.getAccountId());
  System.out.println("Container Id = " + macro.getContainerId());
  System.out.println("Macro Id = " + macro.getMacroId());
  System.out.println("Macro Name = " + macro.getName());
  System.out.println("Macro Type = " + macro.getType());
  System.out.println("Macro Notes = " + macro.getNotes());
  if (macro.getParameter() != null) {
    for (Parameter parameter : macro.getParameter()) {
      System.out.println("Parameter Type = " + parameter.getType());
      System.out.println("Parameter Key = " + parameter.getKey());
      System.out.println("Parameter Value = " + parameter.getValue());
    }
  }
  if (macro.getEnablingRuleId() != null) {
    for (String enabllingRuleId : macro.getEnablingRuleId()) {
      System.out.println("Macro Enabling Rule Id = " + enabllingRuleId);
    }
  }
  if (macro.getDisablingRuleId() != null) {
    for (String disablingRuleId : macro.getDisablingRuleId()) {
      System.out.println("Macro Disabling Rule Id " + disablingRuleId);
    }
  }
  System.out.println("Macro Fingerprint = " + macro.getFingerprint());
}

Python

Uses the Python client library.

# Note: This code assumes you have an authorized tagmanager service object.

# This request lists all macros for the authorized user.
try:
  macros = tagmanager.accounts().containers().macros().list(
      accountId='123456',
      containerId='54321'
  ).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 list method are stored in the macros object.
# The following code shows how to iterate through them.
for macro in macros.get('macros', []):
  print 'Account Id = %s' % macro.get('accountId')
  print 'Container Id = %s' % macro.get('containerId')
  print 'Macro Id = %s' % macro.get('macroId')
  print 'Macro Name = %s' % macro.get('name')
  print 'Macro Type = %s' % macro.get('type')
  print 'Macro notes = %s' % macro.get('notes')
  print 'Schedule Start ms = %s' % macro.get('scheduleStartMs')
  print 'Schedule End ms = %s' % macro.get('scheduleEndMs')
  for parameter in macro.get('parameter', []):
    print 'Parameter Type = %s' % parameter.get('type')
    print 'Parameter Key = %s' % parameter.get('key')
    print 'Parameter Value = %s' % parameter.get('value')
  for enablingRuleId in macro.get('enablingRuleId', []):
    print 'Macro Enabling Rule Id = %s' % enablingRuleId
  for disablingRuleId in macro.get('disablingRuleId', []):
    print 'Macro Disabling Rule Id = %s' % disablingRuleId
  print 'Macro Fingerprint = %s\n\n' % macro.get('fingerprint')

Try it!

Use the APIs Explorer below to call this method on live data and see the response.