api-docs/docs/node-tracker/markdown/node-tracker.md
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md)
## node-tracker package
## Enumerations
| Enumeration | Description |
| --- | --- |
| [HttpMethod](./node-tracker.httpmethod.md) | |
| [HttpProtocol](./node-tracker.httpprotocol.md) | |
## Functions
| Function | Description |
| --- | --- |
| [buildAdClick(event)](./node-tracker.buildadclick.md) | Build a Ad Click Event Used to track an advertisement click |
| [buildAdConversion(event)](./node-tracker.buildadconversion.md) | Build a Ad Conversion Event Used to track an advertisement click |
| [buildAddToCart(event)](./node-tracker.buildaddtocart.md) | Build a Add To Cart Event For tracking users adding items from a cart on an ecommerce site. |
| [buildAdImpression(event)](./node-tracker.buildadimpression.md) | Build a Ad Impression Event Used to track an advertisement impression |
| [buildConsentGranted(event)](./node-tracker.buildconsentgranted.md) | Build a Consent Granted Event Used for tracking when a user grants their consent |
| [buildConsentWithdrawn(event)](./node-tracker.buildconsentwithdrawn.md) | Build a Consent Withdrawn Event Used for tracking when a user withdraws their consent |
| [buildEcommerceTransaction(event)](./node-tracker.buildecommercetransaction.md) | Build an Ecommerce Transaction Event Allows for tracking common ecommerce events, this event is usually used when a consumer completes a transaction. |
| [buildEcommerceTransactionItem(event)](./node-tracker.buildecommercetransactionitem.md) | Build an Ecommerce Transaction Item Event Related to the [buildEcommerceTransaction()](./node-tracker.buildecommercetransaction.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events |
| [buildFormFocusOrChange(event)](./node-tracker.buildformfocusorchange.md) | Build a Form Focus or Change Form Event based on schema property When a user focuses on a form element or when a user makes a change to a form element. |
| [buildFormSubmission(event)](./node-tracker.buildformsubmission.md) | Build a Form Submission Event Used to track when a user submits a form |
| [buildLinkClick(event)](./node-tracker.buildlinkclick.md) | Build a Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag <code><a></code> |
| [buildPagePing(event)](./node-tracker.buildpageping.md) | Build a Page Ping Event Fires when activity tracking is enabled in the browser. Tracks same information as the last tracked Page View and includes scroll information from the current page view |
| [buildPageView(event)](./node-tracker.buildpageview.md) | Build a Page View Event Represents a Page View, which is typically fired as soon as possible when a web page is loaded within the users browser. Often also fired on "virtual page views" within Single Page Applications (SPA). |
| [buildRemoveFromCart(event)](./node-tracker.buildremovefromcart.md) | Build a Remove From Cart Event For tracking users removing items from a cart on an ecommerce site. |
| [buildScreenView(event)](./node-tracker.buildscreenview.md) | Build a Scren View Event Similar to a Page View but less focused on typical web properties Often used for mobile applications as the user is presented with new views as they performance navigation events |
| [buildSelfDescribingEvent(event)](./node-tracker.buildselfdescribingevent.md) | Build a self-describing event A custom event type, allowing for an event to be tracked using your own custom schema and a data object which conforms to the supplied schema |
| [buildSiteSearch(event)](./node-tracker.buildsitesearch.md) | Build a Site Search Event Used when a user performs a search action on a page |
| [buildSocialInteraction(event)](./node-tracker.buildsocialinteraction.md) | Build a Social Interaction Event Social tracking will be used to track the way users interact with Facebook, Twitter and Google + widgets e.g. to capture “like this” or “tweet this” events. |
| [buildStructEvent(event)](./node-tracker.buildstructevent.md) | Build a Structured Event A classic style of event tracking, allows for easier movement between analytics systems. A loosely typed event, creating a Self Describing event is preferred, but useful for interoperability. |
| [gotEmitter(endpoint, protocol, port, method, bufferSize, retry, cookieJar, callback, agents, serverAnonymization)](./node-tracker.gotemitter.md) | Create an emitter object, which uses the <code>got</code> library, that will send events to a collector |
| [tracker(emitters, namespace, appId, encodeBase64)](./node-tracker.tracker.md) | Snowplow Node.js Tracker |
## Interfaces
| Interface | Description |
| --- | --- |
| [AdClickEvent](./node-tracker.adclickevent.md) | An Ad Click Event Used to track an advertisement click |
| [AdConversionEvent](./node-tracker.adconversionevent.md) | An Ad Conversion Event Used to track an advertisement click |
| [AddToCartEvent](./node-tracker.addtocartevent.md) | An Add To Cart Event For tracking users adding items from a cart on an ecommerce site. |
| [AdImpressionEvent](./node-tracker.adimpressionevent.md) | An Ad Impression Event Used to track an advertisement impression |
| [ConsentGrantedEvent](./node-tracker.consentgrantedevent.md) | A Consent Granted Event Used for tracking when a user grants their consent |
| [ConsentWithdrawnEvent](./node-tracker.consentwithdrawnevent.md) | A Consent Withdrawn Event Used for tracking when a user withdraws their consent |
| [ContextEvent](./node-tracker.contextevent.md) | Argument for [ContextGenerator](./node-tracker.contextgenerator.md) and [ContextFilter](./node-tracker.contextfilter.md) callback |
| [CoreConfiguration](./node-tracker.coreconfiguration.md) | The configuration object for the tracker core library |
| [CorePlugin](./node-tracker.coreplugin.md) | Interface which defines Core Plugins |
| [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) | An Ecommerce Transaction Event Allows for tracking common ecommerce events, this event is usually used when a customer completes a transaction. |
| [EcommerceTransactionItemEvent](./node-tracker.ecommercetransactionitemevent.md) | An Ecommerce Transaction Item Related to the [EcommerceTransactionEvent](./node-tracker.ecommercetransactionevent.md) Each Ecommerce Transaction may contain one or more EcommerceTransactionItem events |
| [Emitter](./node-tracker.emitter.md) | |
| [FormFocusOrChangeEvent](./node-tracker.formfocusorchangeevent.md) | Represents either a Form Focus or Form Change event When a user focuses on a form element or when a user makes a change to a form element. |
| [FormSubmissionEvent](./node-tracker.formsubmissionevent.md) | A Form Submission Event Used to track when a user submits a form |
| [LinkClickEvent](./node-tracker.linkclickevent.md) | A Link Click Event Used when a user clicks on a link on a webpage, typically an anchor tag <code><a></code> |
| [PagePingEvent](./node-tracker.pagepingevent.md) | A Page Ping Event Fires when activity tracking is enabled in the browser. Tracks same information as the last tracked Page View and includes scroll information from the current page view |
| [PageViewEvent](./node-tracker.pageviewevent.md) | A Page View Event Represents a Page View, which is typically fired as soon as possible when a web page is loaded within the users browser. Often also fired on "virtual page views" within Single Page Applications (SPA). |
| [PayloadBuilder](./node-tracker.payloadbuilder.md) | Interface for mutable object encapsulating tracker payload |
| [RemoveFromCartEvent](./node-tracker.removefromcartevent.md) | An Remove To Cart Event For tracking users removing items from a cart on an ecommerce site. |
| [ScreenViewEvent](./node-tracker.screenviewevent.md) | A Screen View Event Similar to a Page View but less focused on typical web properties Often used for mobile applications as the user is presented with new views as they performance navigation events |
| [SelfDescribingEvent](./node-tracker.selfdescribingevent.md) | A Self Describing Event A custom event type, allowing for an event to be tracked using your own custom schema and a data object which conforms to the supplied schema |
| [SiteSearchEvent](./node-tracker.sitesearchevent.md) | A Site Search Event Used when a user performs a search action on a page |
| [SocialInteractionEvent](./node-tracker.socialinteractionevent.md) | A Social Interaction Event Social tracking will be used to track the way users interact with Facebook, Twitter and Google + widgets e.g. to capture “like this” or “tweet this” events. |
| [StructuredEvent](./node-tracker.structuredevent.md) | A Structured Event A classic style of event tracking, allows for easier movement between analytics systems. A loosely typed event, creating a Self Describing event is preferred, but useful for interoperability. |
| [Tracker](./node-tracker.tracker.md) | |
## Variables
| Variable | Description |
| --- | --- |
| [version](./node-tracker.version.md) | |
## Type Aliases
| Type Alias | Description |
| --- | --- |
| [ContextFilter](./node-tracker.contextfilter.md) | A context filter is a user-supplied callback that is evaluated for each event to determine if the context associated with the filter should be attached to the event |
| [ContextGenerator](./node-tracker.contextgenerator.md) | A context generator is a user-supplied callback that is evaluated for each event to allow an additional context to be dynamically attached to the event |
| [Payload](./node-tracker.payload.md) | Type for a Payload dictionary |
| [SelfDescribingJson](./node-tracker.selfdescribingjson.md) | Export interface for any Self-Describing JSON such as context or Self Describing events |
| [Timestamp](./node-tracker.timestamp.md) | Algebraic datatype representing possible timestamp type choice |