The send method is used to trigger a call to the Gamesight tracking server. This causes the following actions to occur:

  • Any queued events are recorded
  • User ID associations are added into the device graph
  • Any identity mapping made for integrations with Facebook, Google, etc are saved
  • Click details are recorded for Automatic Click Measurement

The Web SDK will not make any tracking requests until you call send, so it is important to include a call to send on every page at least once (whether or not you are measuring any events).

👍

Calling send on landing pages

For best functionality, ensure that you include a call to the send method on every relevant page where the Web SDK is installed, whether or not you are recording an event. This should include:

  • Any page that you are driving users to from your marketing campaign
  • Any page where a user_id value can be set

This will ensure that Gamesight has high quality data with as full of coverage as possible.

gsght('send', '[{event_type}]', [{event_params}])

Argument

Type

Example

Description

{event_type}

String (optional)

'game_launch'

Event type that is merged into the EventPayload object.

{event_params}

EventPayload (optional)

{revenue_amount: '1.23'}

Additional values to include in the payload for the Event.

EventPayload

Below is a description of each of fields that are supported in the EventPayload object

Key

Type

Example

Description

type

String

'game_launch'

The type of event to send. If the {event_type} value is provided on the send call then it is used as the type for the Event.

transaction_id

String (optional)

'123456-12345-234234-234234'

Unique transaction ID that is used for deduplicating events, commonly used to ensure idempotency with purchase events. Gamesight enforces that only 1 event will be processed per transaction_id.

gameplay_session_id

String (optional)

'123456-12345-234234-234234'

A unique session ID for the user's current game session. Passing this field enables Gamesight to report on session counts, playtime, and actions within a session.

revenue_amount

String (optional)

'9.99'

Amount of revenue being reported. You must pass a revenue_currency together with this field.

revenue_currency

String (optional)

'USD'

Currency revenue is being reported in.

revenue_type

String (optional)

'cumulative' (default)

Type of revenue being reported. Learn more here.

metadata

Object (optional)

{my_key: 'value'}

Arbitrary metadata to attach to the event. Must be less than 1KB when JSON encoded.

user_id

String (optional)

'123456789'

Specify the user_id to be sent with this event. Defaults to the user_id value set via set. If a user_id value isn't set on an event, it will be recorded anonymously using the device's gsid value.

platform

String

'web'

Set the platform for the event. Defaults to the platform option set during init.

Examples

No event

To call send without triggering an event:

gsght('send')

There are a few reasons why you might want to use the send method without an event type:

📘

Send without Events

Note that calls made to send without an event type won't show up as an event in the console and can't be used to trigger a Goal.

Single event

Below you can find a few examples of how to send a single event using the send method

// Send a single event without any additional payload
gsght('send', 'event_name')
  
// Example event including revenue data
gsght('send', 'event_name', {
  revenue_amount: '1.23',
  revenue_currency: 'usd',
  transaction_id: '123456-12345-234234-234234'
})

// Example event omitting {event_type}
gsght('send', {
  event_type: 'event_name',
  revenue_amount: '1.23',
  revenue_currency: 'usd',
  transaction_id: '123456-12345-234234-234234'
})

Multiple events

If you would like to send multiple events in a single call, you can pass an array of EventPayload objects to send.

// for multiple events as a batched call
gsght('send', [
  {EventPayload},
  {EventPayload},
])