Syntax
newrelic.recordCustomEvent(string $eventType[, JSON object $attributes])
Reports a custom browser event under a specified eventType with custom attributes.
Requirements
Browser Pro or Pro+SPA agent (v1.277.0 or higher)
If you're using npm to install the browser agent, you must enable the
generic_events
feature when instantiating theBrowserAgent
class. In thefeatures
array, add the following:import { GenericEvents } from '@newrelic/browser-agent/features/generic_events';const options = {info: { ... },loader_config: { ... },init: { ... },features: [GenericEvents]}For more information, see the npm browser installation documentation.
Description
This API call sends a custom browser event with your user-defined eventType and optional attributes to dashboards, along with any custom attributes you may have set for your application. This is useful to track any event that is not already tracked automatically by the browser agent enhanced by rules and attribution you control.
custom
events are sent every 30 seconds.- If 1,000 events are observed, the agent will harvest the buffered events immediately, bypassing the harvest cycle interval.
Parameters
Parameter | Description |
---|---|
string | Required. The eventType to store the event data under Avoid using reserved NRQL words or pre-existing eventTypes when you name the attribute or value. |
JSON object | Optional. JSON object with one or more key/value pairs. For example: Avoid using reserved NRQL words when you name the attribute/value. |
Important considerations and best practices include:
You should aim to limit the total number of event types to approximately five. Custom eventTypes are meant to be used to encapsulate high-level categories. For example, you might create an event type Gestures.
Do not use eventType to name custom events. Create eventTypes to house a category of data and attributes within that category to name an event or use the optional name parameter. While you can create numerous custom events, it's important to keep your data manageable by limiting the number of eventTypes reported.
Examples
Record link clicks (JavaScript)
This example records a custom event whenever a user clicks the Submit button in a form. The event is recorded with an eventType
of FormAction
, which was used to contain many events related to actions taken on a form:
<a href="/demo" id="try-me">Try Me!</a><script> document.getElementById('submit').addEventListener('click', function (e) { newrelic.recordCustomEvent('FormAction', { element: 'submit', action: 'click', }); });</script>
You can then query the number of times the Submit button was clicked with the following NRQL query:
SELECT count(*) FROM FormAction WHERE element = 'submit' AND action = 'click' SINCE 1 hour ago