# Tag Manager API . accounts . containers . macros

## Instance Methods

Creates a GTM Macro.

Deletes a GTM Macro.

Gets a GTM Macro.

Lists all GTM Macros of a Container.

Updates a GTM Macro. This method supports patch semantics.

Updates a GTM Macro.

### Method Details

`create(accountId, containerId, body)`

    Creates a GTM Macro.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Macro.
      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
      "containerId": "A String", # GTM Container ID.
      "type": "A String", # GTM Macro Type.
      "notes": "A String", # User notes on how to apply this macro in the container.
      "enablingRuleId": [ # 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.
        "A String",
      ],
      "name": "A String", # Macro display name.
      "disablingRuleId": [ # 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.
        "A String",
      ],
      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
      "parameter": [ # The macro's parameters.
        { # Represents a Google Tag Manager Parameter.
          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
            # Object with schema name: Parameter
          ],
          "list": [ # This list parameter's parameters (keys will be ignored).
            # Object with schema name: Parameter
          ],
          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
          "type": "A 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 macro references (even macro references that might return non-string types)
        },
      ],
      "accountId": "A String", # GTM Account ID.
    }

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Macro.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
        "containerId": "A String", # GTM Container ID.
        "type": "A String", # GTM Macro Type.
        "notes": "A String", # User notes on how to apply this macro in the container.
        "enablingRuleId": [ # 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.
          "A String",
        ],
        "name": "A String", # Macro display name.
        "disablingRuleId": [ # 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.
          "A String",
        ],
        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
        "parameter": [ # The macro's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A 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 macro references (even macro references that might return non-string types)
          },
        ],
        "accountId": "A String", # GTM Account ID.
      }

`delete(accountId, containerId, macroId)`

    Deletes a GTM Macro.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      macroId: string, The GTM Macro ID. (required)

`get(accountId, containerId, macroId)`

    Gets a GTM Macro.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      macroId: string, The GTM Macro ID. (required)

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Macro.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
        "containerId": "A String", # GTM Container ID.
        "type": "A String", # GTM Macro Type.
        "notes": "A String", # User notes on how to apply this macro in the container.
        "enablingRuleId": [ # 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.
          "A String",
        ],
        "name": "A String", # Macro display name.
        "disablingRuleId": [ # 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.
          "A String",
        ],
        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
        "parameter": [ # The macro's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A 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 macro references (even macro references that might return non-string types)
          },
        ],
        "accountId": "A String", # GTM Account ID.
      }

`list(accountId, containerId)`

    Lists all GTM Macros of a Container.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)

    Returns:
      An object of the form:

        { # List Macros Response.
        "macros": [ # All GTM Macros of a GTM Container.
          { # Represents a Google Tag Manager Macro.
            "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
            "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
            "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
            "containerId": "A String", # GTM Container ID.
            "type": "A String", # GTM Macro Type.
            "notes": "A String", # User notes on how to apply this macro in the container.
            "enablingRuleId": [ # 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.
              "A String",
            ],
            "name": "A String", # Macro display name.
            "disablingRuleId": [ # 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.
              "A String",
            ],
            "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
            "parameter": [ # The macro's parameters.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A 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 macro references (even macro references that might return non-string types)
              },
            ],
            "accountId": "A String", # GTM Account ID.
          },
        ],
      }

`patch(accountId, containerId, macroId, body, fingerprint=None)`

    Updates a GTM Macro. This method supports patch semantics.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      macroId: string, The GTM Macro ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Macro.
      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
      "containerId": "A String", # GTM Container ID.
      "type": "A String", # GTM Macro Type.
      "notes": "A String", # User notes on how to apply this macro in the container.
      "enablingRuleId": [ # 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.
        "A String",
      ],
      "name": "A String", # Macro display name.
      "disablingRuleId": [ # 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.
        "A String",
      ],
      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
      "parameter": [ # The macro's parameters.
        { # Represents a Google Tag Manager Parameter.
          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
            # Object with schema name: Parameter
          ],
          "list": [ # This list parameter's parameters (keys will be ignored).
            # Object with schema name: Parameter
          ],
          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
          "type": "A 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 macro references (even macro references that might return non-string types)
        },
      ],
      "accountId": "A String", # GTM Account ID.
    }

      fingerprint: string, When provided, this fingerprint must match the fingerprint of the macro in storage.

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Macro.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
        "containerId": "A String", # GTM Container ID.
        "type": "A String", # GTM Macro Type.
        "notes": "A String", # User notes on how to apply this macro in the container.
        "enablingRuleId": [ # 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.
          "A String",
        ],
        "name": "A String", # Macro display name.
        "disablingRuleId": [ # 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.
          "A String",
        ],
        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
        "parameter": [ # The macro's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A 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 macro references (even macro references that might return non-string types)
          },
        ],
        "accountId": "A String", # GTM Account ID.
      }

`update(accountId, containerId, macroId, body, fingerprint=None)`

    Updates a GTM Macro.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      macroId: string, The GTM Macro ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Macro.
      "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
      "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
      "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
      "containerId": "A String", # GTM Container ID.
      "type": "A String", # GTM Macro Type.
      "notes": "A String", # User notes on how to apply this macro in the container.
      "enablingRuleId": [ # 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.
        "A String",
      ],
      "name": "A String", # Macro display name.
      "disablingRuleId": [ # 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.
        "A String",
      ],
      "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
      "parameter": [ # The macro's parameters.
        { # Represents a Google Tag Manager Parameter.
          "map": [ # This map parameter's parameters (must have keys; keys must be unique).
            # Object with schema name: Parameter
          ],
          "list": [ # This list parameter's parameters (keys will be ignored).
            # Object with schema name: Parameter
          ],
          "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
          "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
          "type": "A 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 macro references (even macro references that might return non-string types)
        },
      ],
      "accountId": "A String", # GTM Account ID.
    }

      fingerprint: string, When provided, this fingerprint must match the fingerprint of the macro in storage.

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Macro.
        "scheduleStartMs": "A String", # The start timestamp in milliseconds to schedule a macro.
        "scheduleEndMs": "A String", # The end timestamp in milliseconds to schedule a macro.
        "macroId": "A String", # The Macro ID uniquely identifies the GTM Macro.
        "containerId": "A String", # GTM Container ID.
        "type": "A String", # GTM Macro Type.
        "notes": "A String", # User notes on how to apply this macro in the container.
        "enablingRuleId": [ # 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.
          "A String",
        ],
        "name": "A String", # Macro display name.
        "disablingRuleId": [ # 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.
          "A String",
        ],
        "fingerprint": "A String", # The fingerprint of the GTM Macro as computed at storage time. This value is recomputed whenever the macro is modified.
        "parameter": [ # The macro's parameters.
          { # Represents a Google Tag Manager Parameter.
            "map": [ # This map parameter's parameters (must have keys; keys must be unique).
              # Object with schema name: Parameter
            ],
            "list": [ # This list parameter's parameters (keys will be ignored).
              # Object with schema name: Parameter
            ],
            "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
            "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
            "type": "A 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 macro references (even macro references that might return non-string types)
          },
        ],
        "accountId": "A String", # GTM Account ID.
      }