Die s_gi()
-Funktion instanziiert oder findet eine Instanz von AppMeasurement nach Report Suite-ID. AppMeasurement verfolgt jede erstellte Instanz, und die s_gi()
-Funktion gibt die vorhandene Instanz für eine Berichtssuite zurück, falls eine solche existiert. Wenn keine Instanz vorhanden ist, wird eine neue Instanz erstellt.
Die Web SDK-Erweiterung instanziiert und verwaltet das Tracking-Objekt für Sie. Sie können jedoch den Namen des Tracking-Objekts in den Erweiterungseinstellungen anpassen:
alloy
.Der folgende Code lädt das Web SDK und instanziiert ein Tracking-Objekt. Sie können den Namen des Tracking-Objekts anpassen, indem Sie die Zeichenfolge ändern "alloy"
am Ende des Inline-Skripts zum gewünschten Wert hinzu.
<script>
!function(n,o){o.forEach(function(o){n[o]||((n.__alloyNS=n.__alloyNS||
[]).push(o),n[o]=function(){var u=arguments;return new Promise(
function(i,l){n[o].q.push([i,l,u])})},n[o].q=[])})}
(window,["alloy"]);
</script>
<script src="https://cdn1.adoberesources.net/alloy/2.6.4/alloy.min.js" async></script>
Siehe SDK installieren in der Web SDK-Dokumentation finden Sie weitere Informationen.
Die Analytics-Erweiterung instanziiert und verwaltet das Tracking-Objekt für Sie. Sie können jedoch auch ein globales Tracking-Objekt im Akkordeon Bibliotheksverwaltung festlegen, wenn Sie die Adobe Analytics-Erweiterung konfigurieren.
Im Textfeld für globale Variablen können Sie ein benutzerdefiniertes Tracking-Objekt festlegen. Der Standardwert lautet s
.
Rufen Sie die s_gi()
-Funktion auf, um ein Tracking-Objekt zu instanziieren. Das einzige Argument enthält eine kommagetrennte Zeichenfolge von Report Suite-IDs. Das Argument der Report Suite-ID ist erforderlich.
Adobe empfiehlt, die s
-Variable als Tracking-Objekt zu verwenden. Adobe verwendet s
in seiner Dokumentation, Implementierungsbeispielen und Plug-ins. Sie können jedoch jede beliebige Variable verwenden, solange Sie auf Ihrer Website konsistent sind.
// Instantiate the tracking object with a single report suite
var s = s_gi("examplersid");
// Instantiate the tracking object to send to multiple report suites
var s = s_gi("examplersid1,examplersid2");
Die folgenden Abschnitte und Beispiele enthalten komplexe Implementierungsthemen. Testen Sie Ihre Implementierung gründlich und verfolgen Sie wichtige Anpassungen im Lösungsdesigndokument Ihres Unternehmens.
Sie können verschiedene Daten an verschiedene Report Suites senden, wenn Sie mehrere Tracking-Objekte instanziieren. Diese beiden Tracking-Objekte funktionieren unabhängig voneinander.
// Instantiate two separate tracking objects to two different report suites
var s = s_gi('examplersid1');
var z = s_gi('examplersid2');
// The s object and z object contain their own independent Analytics variables simultaneously
s.pageName = "Example page name 1";
z.pageName = "Example page name 2";
// Send data to the examplersid1 report suite
s.t();
// Send data to the examplersid2 report suite
z.t();
Einige Drittanbieter-Tools können auch das JavaScript-s
-Objekt verwenden. Wenn Sie versehentlich das s
-Objekt auf Ihrer Website überschreiben, können Sie s_gi
mit demselben RSID-Zeichenfolgenargument aufrufen, um alle überschriebenen Variablen und Methoden wiederherzustellen.
// Step 1: Instantiate the tracking object
var s = s_gi("examplersid");
// Step 2: Set eVar1
s.eVar1 = "Example value";
// Step 3: Accidentally overwrite the tracking object
s = "3rd party tool";
// Step 4: If you attempt to send a tracking call, an error is returned. Instead, re-instantiate the tracking object
s = s_gi("examplersid");
// Step 5: The previous values of all variables are preserved. You can send a tracking call and eVar1 is correctly set
s.t();
Wenn zwei Variablen auf dieselbe s_gi()
-Funktion mit derselben Report Suite verweisen, können Sie die Variablen austauschbar verwenden.
// If the RSID is the same, any variables set in the 's' tracking object also get set in 'z' tracking object
var s = s_gi('examplersid');
var z = s_gi('examplersid');
s.eVar1 = "Shared tracking object value";
// This tracking call contains the above eVar1 value
z.t();