Skip to content
This repository has been archived by the owner on Jan 4, 2022. It is now read-only.

unofficial-analytics-documentation/satellite-docs

Repository files navigation

unofficial-analytics-docs-200px


Archived: Satellite Documentation

Satellite API   Types   Method Arguments   API   Issues   Wiki


Archived: See the Adobe Analytics Satellite Docs for a better reference!

This repository contains unofficial Adobe DTM Satellite Library documentation. The Satellite Library is used for Adobe DTM. It manages and tracks data for Adobe DTM and Adobe Analytics. If you have insight, please contribute!

The purpose of this document is to provide a place for the DTM community to document the _satellite library and how it works—not specifically for DTM.

Usage Guides

The list below contains guides to use _satellite on webpages.

Satellite API 🛰

Below, the _satellite API is fully listed. Snippets of code on how to use the API as well as a brief description of what the code does are added throughout.


Types Glossary

The "Types" Glossary is used to define types for each method or property of the Satellite API.

  • array: [array]
    • examples: [1, 2, 3]
  • bool: boolean
    • examples: true, false
  • ƒ: function,
    • examples: function() {}, () => {}
  • num: number,
    • examples: 1, 2, 6
  • obj: {object},
    • examples: { name: 'Randy', id: '1bd45' }

Method Argument Glossary

The Method Argument Glossary is used to define arguments used within Satellite Methods.

  • a: array
    • type: [array]
    • examples: [1, 2, 3]
  • e: event
    • type: todo
    • examples: todo
  • i: iterator
    • type: todo
    • examples: todo
  • n: todo
    • type: todo
    • examples: todo
  • t: text,
    • type: "is a string"
    • examples: "string", "this is a string"

API methods and properties

  • initialized: bool
    • example: _satellite.initialized returns true
    • describes whether _satellite has initialized.
  • uuid: num
    • example: _satellite.uuid returns 12
    • universally unique identifier
  • dataCache: {obj}
    • example: _satellite.dataCache[1] returns {eventProcessed: true}
    • an [array] of {objects} with stored events
  • $data: ƒ (e,t,n)
    • unknown
  • BaseTool: ƒ (t)
    • example to create settings: _satellite.BaseTool({ forceLowerCase: true });
    • example to extend the prototype: _satellite.BaseTool.foo = 'foo'
    • takes in an {argument object} called settings for tool setting
    • Also, has helper methods bound to its prototype
  • Logger: {obj}
    • outputEnabled: bool
    • messages: [array]
      • example console.log(_satellite.Logger.messages);
      • Logs the state of satellite.
    • keepLimit: num
    • flushed: bool
    • LEVELS: [array]
  • QueryParams: {obj}
  • URI: ƒ ()
    • returns URI
      • example window.satellite.URI() returns "/"
  • URL: ƒ ()
    • returns URL
      • example window.satellite.URL() return "https://foo.com"
  • addEventHandler: ƒ (e,t,n)
  • any: ƒ (e,t,n)
  • appVersion: "string"
    • example "6WD"
  • availableEventEmitters: [array]
    • example
  • availableTools: {obj}
  • backgroundTasks: ƒ ()
  • basePath:
  • bind: ƒ (e,t)
  • bindEvent: ƒ (e,t)
  • bindEventOnce: ƒ (e,t)
  • browserInfo: {obj}
    • browser: "string"
    • os: "string"
    • deviceType: "Desktop"
  • buildDate: "string"
  • checkAsyncInclude: ƒ ()
  • cleanText: ƒ (t)
  • configurationSettings: {obj}
    • pageLoadRules: [array]
    • rules: [array]
    • directCallRules: [array]
    • settings: {obj}
    • data: {obj}
  • contains: ƒ (e,t)
  • containsElement: ƒ (e,t)
  • cssQuery: ƒ (e,n)
  • data: {obj}
    • URI: "string"
    • browser: {obj}
    • cartItems: [array]
    • revenue: "string"
    • host: {obj}
  • dataCache: {obj}
  • dataElementSafe: ƒ (e,t)
  • dataElements: obj
    • _campaign: {obj},
    • _campaignContent: {obj}
    • _campaignMedium: `{obj},
    • _campaignSource: {obj}
  • detectBrowserInfo: ƒ ()
  • directCallRules: [array]
  • domReady: ƒ (t)
  • dynamicRules: [array]
  • each: ƒ (t,e,n)
  • ecommerce: {obj}
    • addItem: ƒ,
    • addTrans: ƒ,
    • trackTrans: ƒ
  • encodeObjectToURI: ƒ (t)
  • ensureCSSSelector: ƒ ()
  • equalsIgnoreCase: ƒ (t,e)
  • errors: [array]
  • escapeForHtml: ƒ (t)
  • escapeHtmlParams: ƒ (t)
  • eventEmitterBackgroundTasks: ƒ ()
  • eventEmitters: [array]
  • every: ƒ (t,e,n)
  • evtHandlers: {obj}
  • aftertoolinit: [array]
  • execute: ƒ (t,e,n,i)
  • extend: ƒ (t,e)
  • filter: ƒ (t,e,n)
  • filterRules: ƒ ()
  • find: ƒ (t,e,n)
  • fireEvent: ƒ (t,e)
  • fireOnceEvents: [array]
  • firePageLoadEvent: ƒ (t)
  • fireRule: ƒ (t,e,n)
  • flushPendingCalls: ƒ (t)
  • getCaseSensitivityQueryParamsMap: ƒ (t)
  • getDataElement: ƒ (t,e,n)
  • getElementProperty: ƒ (t,e)
  • getObjectProperty: ƒ (t,e,n)
  • getQueryParam: ƒ (t)
  • getQueryParamCaseInsensitive: ƒ (t)
  • getToolsByType: ƒ (t)
  • getUniqueRuleEvents: ƒ ()
  • getUserAgent: ƒ ()
  • getVar: ƒ (n,a,r)
  • getVars: ƒ (t,e,n)
  • getVisitorId: ƒ ()
  • handleEvent: ƒ (t)
  • handleOverrides: ƒ ()
  • hasAttr: ƒ(t,e)
  • hasMultipleDomains: ƒ ()
  • hasSelector: bool
  • indexOf: ƒ (t,e)
  • inherit: ƒ (t,e)
  • init: ƒ (e)
  • initEventEmitters: ƒ ()
  • initTools: ƒ (t)
  • initialized: bool
  • isArray: ƒ isArray()
  • isHttps: ƒ ()
  • isLinkTag: ƒ (t)
  • isLinked: ƒ (t)
  • isLinkerLink: ƒ (t)
  • isNaN: ƒ (t)
  • isNumber: ƒ (t)
  • isObject: ƒ (t)
  • isOutboundLink: ƒ (t)
  • isRegex: ƒ (t)
  • isRightClick: ƒ (t)
  • isRuleActive: ƒ (t,e)
  • isString: ƒ (t)
  • isSubdomainOf: ƒ (t,e)
  • isVMLPoisoned: ƒ (t)
  • keys: ƒ (t)
  • loadEventBefore: ƒ (t,e)
  • loadPrivacyManager: ƒ ()
  • loadScript: ƒ (t,n)
  • loadScriptOnce: ƒ (t,e)
  • loadScriptSync: ƒ (t)
  • loadStoredSettings: ƒ ()
  • loadedScriptRegistry: {obj}
  • logError: ƒ (t)
  • map: ƒ (t,e,n)
  • matchesCss: ƒ (n,i)
  • notify: ƒ ()
  • onEvent: ƒ (t)
  • pageBottom: ƒ ()
  • pageLoadPhases: [array]
  • pageLoadRules: [array]
  • parseQueryParams: ƒ (t)
  • poll: ƒ (t,e,n)
  • prepareLoadPrivacyManager: ƒ ()
  • preprocessArguments: ƒ (t,e,n,i,a)
  • preventDefault: ƒ (t)
  • privacyManagerParams: ƒ ()
  • propertiesMatch: ƒ (t,e)
  • publishDate: "string"
  • pushAsyncScript: ƒ (t)
  • pushBlockingScript: ƒ (t)
  • readCookie: ƒ (t)
  • readStoredSetting: ƒ (e)
  • realGetDataElement: ƒ (e)
  • registerEvents: ƒ (t,e)
  • registerEventsForTags: ƒ (t,n)
  • registerNewElementsForDynamicRules: ƒ ()
  • removeCookie: ƒ (t)
  • removeEventHandler: ƒ (t,e,n)
  • replace: ƒ (t,e,n,i)
  • ruleInScope: ƒ (t,n)
  • ruleMatches: ƒ (t,e,n,i)
  • rules: [array]
  • scriptOnLoad: ƒ (t,e,n)
  • searchVariables: ƒ (t,e,n)
  • setCookie: ƒ (t,n,i)
  • setDebug: ƒ (e)
  • setFormListeners: ƒ ()
  • setListeners: ƒ ()
  • setLocation: ƒ (e)
  • setVar: ƒ ()
    • example: _satellite.setVar('PageName','test' ); _satellite.data.customVars // is an {object}
    • reference link
  • setVideoListeners: ƒ ()
  • settings: {obj}
    • trackInternalLinks: bool
    • libraryName: "string"
    • isStaging: bool
      • example: `console.log(_satellite.settings.isStaging) // false
      • communicates which environment is loaded w/o DOM awareness
    • allowGATTcalls: bool
    • downloadExtensions: regex
  • specialProperties {obj}
    • text: ƒ
    • cleanText: ƒ
  • stagingLibraryOverride: ƒ ()
  • stopPropagation: ƒ (t)
  • stringify: ƒ (t,e)
  • text: ƒ (t)
  • textMatch: ƒ (t,e)
  • throttle: ƒ (t,e)
  • toArray: ƒ (e)
  • tools: {obj}
  • track: ƒ (t)
  • trim: ƒ (t)
  • unbindEvent: ƒ (t,e)
  • updateQueryParams: ƒ ()
  • uuid: num
  • values: ƒ (t)
  • visibility: {obj}
    • isHidden: ƒ,
    • isVisible: ƒ,
    • getHiddenProperty: ƒ,
    • getVisibilityEvent: ƒ
  • whenEvent: ƒ (t,e)
  • **proto:** {obj}