Macros: update

Autorisierung erforderlich

Aktualisiert ein GTM-Makro. Probieren Sie es aus oder sehen Sie sich ein Beispiel an.

Anfragen

HTTP-Anfrage

PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/macros/macroId

Parameter

Parametername Wert Beschreibung
Pfadparameter
accountId string Die Google Tag Manager-Konto-ID.
containerId string Die GTM-Container-ID.
macroId string Die GTM-Makro-ID.
Optionale Abfrageparameter
fingerprint string Wenn dieser Fingerabdruck angegeben wird, muss er mit dem Fingerabdruck des Makros im Speicher übereinstimmen.

Autorisierung

Für diese Anfrage ist eine Autorisierung in folgendem Bereich erforderlich. Weitere Informationen zur Authentifizierung und Autorisierung

Umfang
https://www.googleapis.com/auth/tagmanager.edit.containers

Anfragetext

Geben Sie im Anfragetext eine Makroressource mit den folgenden Attributen an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Eigenschaften
parameter[].type string Der Parametertyp. Gültige Werte sind:
  • boolean: Der Wert steht für einen booleschen Wert, der als „wahr“ oder „falsch“ dargestellt wird.
  • integer: Der Wert stellt einen vorzeichenbehafteten 64-Bit-Ganzzahlwert in Basis 10 dar.
  • list: Es muss eine Liste mit Parametern angegeben werden
  • map: Es muss eine Zuordnung von Parametern angegeben werden.
  • template: Der Wert steht für beliebigen Text. Dieser kann Makroreferenzen enthalten, auch Makroreferenzen, die möglicherweise Typen zurückgeben, die keine Strings sind.


Zulässige Werte sind:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
Bearbeitbar
type string GTM-Makrotyp. Bearbeitbar
Optionale Attribute
disablingRuleId[] list Nur für mobile Container: Eine Liste mit Regel-IDs zum Deaktivieren bedingter Makros. Das Makro ist aktiviert, wenn eine der Aktivierungsregeln wahr ist, während alle Deaktivierungsregeln falsch sind. Wird als ungeordnetes Set behandelt. Bearbeitbar
enablingRuleId[] list Nur für mobile Container: Eine Liste mit Regel-IDs zum Aktivieren bedingter Makros. Das Makro ist aktiviert, wenn eine der Aktivierungsregeln wahr und alle Deaktivierungsregeln falsch sind. Wird als ungeordnetes Set behandelt. Bearbeitbar
name string Anzeigename des Makros. Bearbeitbar
notes string Nutzerhinweise zur Anwendung dieses Makros im Container. Bearbeitbar
parameter[] list Die Parameter des Makros. Bearbeitbar
parameter[].key string Der benannte Schlüssel, der einen Parameter eindeutig identifiziert. Erforderlich für Parameter der obersten Ebene sowie für Zuordnungswerte. Wird für Listenwerte ignoriert. Bearbeitbar
parameter[].list[] list Die Parameter dieses Listenparameters (Schlüssel werden ignoriert). Bearbeitbar
parameter[].map[] list Die Parameter dieses Zuordnungsparameters (muss Schlüssel aufweisen; Schlüssel müssen eindeutig sein). Bearbeitbar
parameter[].value string Der Wert eines Parameters (kann Makroreferenzen wie "" enthalten) je nach Typ. Bearbeitbar
scheduleEndMs long Der Endzeitstempel in Millisekunden zum Planen eines Makros. Bearbeitbar
scheduleStartMs long Der Startzeitstempel in Millisekunden zum Planen eines Makros. Bearbeitbar

Antwort

Wenn der Vorgang erfolgreich ist, wird mit dieser Methode eine Macros-Ressource im Antworttext zurückgegeben.

Beispiele

Hinweis: Bei den für diese Methode verfügbaren Codebeispielen sind nicht alle unterstützten Programmiersprachen vertreten. Eine Liste der unterstützten Sprachen finden Sie auf der Seite für Clientbibliotheken.

Java

Verwendet die Java-Clientbibliothek.

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

/*
 * This request updates an existing macro for the authorized user.
 */

// Construct the macro object.
Macro macro = new Macro();
macro.setName("Updated 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().update("123456", "54321", "18", macro).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

Verwendet die Python-Clientbibliothek.

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

# This request updates an existing macro for the authorized user.
try:
  response = tagmanager.accounts().containers().macros().update(
      accountId='123456',
      containerId='54321',
      macroId='19',
      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 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')

Jetzt testen

Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.