# Singular Destination Setup Guide


This guide will help you set up Singular as a destination in the RudderStack dashboard. It also lists the configuration settings required to correctly send data from the supported sources to Singular.

{{< tip >}}
Before you set up the Singular destination in RudderStack, see the [RudderStack-Singular Integration Setup Approaches]({{< ref "destinations/streaming-destinations/singular/setup-options.md" >}}) guide to understand and choose the best setup for your RudderStack-Singular integration.
{{< /tip >}}

## Connection compatibility

{{< destination-config >}}

## Set up Singular destination in RudderStack

In your [RudderStack dashboard](https://app.rudderstack.com/), add a source. Then, from the list of destinations, select **Singular**.

### Connection settings

| Setting | <div style="width: 350px;">Description</div> |
| :----| :-----|
| API key | Enter your [Singular API key](#faq). |
| Secret | Enter your [Singular secret](#faq). It is required for device mode integrations with the RudderStack iOS (Obj-C) and Android (Java) SDKs. |
| Session event name | Enter the event names to be used as session events. This setting is applicable only for sending session events to Singular in [cloud mode]({{< ref "destinations/streaming-destinations/singular/cloud-mode.md" >}}). <br /><br />{{< warning >}}Configure this field only if you are not using Singular SDK for [session management](https://support.singular.net/hc/en-us/articles/360037640812-Server-to-Server-Integration-Guide#h_01S2S004). <br /><br />See [Considerations for session event name](#considerations-for-session-event-name) section below for more information. {{< /warning >}} |
| Use device mode to send events | When using the Android (Java) / iOS (Obj-C) source, turn on this setting to send events in [device mode]({{< ref "destinations/rudderstack-connection-modes.md#device-mode" >}}). Then, follow the [Singular Device Mode]({{< ref "destinations/streaming-destinations/singular/device-mode.md" >}}) guide for steps on adding the Singular integration to your project. |
| Client-side events filtering | Specify which events should be blocked or allowed to flow through to Singular.  <br /><br />See [Client-side Events Filtering]({{< ref "sources/event-streams/sdks/event-filtering.md" >}}) for more information. |
| Consent management settings | Configure the consent management settings for the specified source by choosing the **Consent management provider** from the dropdown and entering the relevant consent category IDs. <br /><br />See [Consent Management in RudderStack]({{< ref "data-governance/consent-management/overview.md" >}}) for more information on this feature. |

#### Considerations for session event name

The Singular SDK manages session events automatically. Hence, configure the **Session Event Name** [dashboard setting](#connection-settings) only if you are not initializing the Singular SDK separately in your application (outside of RudderStack).

{{< warning >}}
Configuring the **Session Event Name** in RudderStack while the Singular SDK is already managing session events will cause RudderStack to send session events as well, resulting in duplicate session events in Singular.
{{< /warning >}}

### Unity SDK settings

| Setting | Description |
| :----| :-----|
| Match ID mapping | Use this setting to map Singular's match ID to either of the following event fields:<br /><br /> <ul><li>`context.device.advertisingId`</li><li>`properties.match_id`</li></ul>

## FAQ 

#### Where can I find the Singular API key and secret?

To obtain your Singular API key and secret, log into your [Singular dashboard](https://app.singular.net/login?redir=%2F#/) and navigate to **Developer Tools** > **SDK Integration**:

{{< image src="images/event-stream-destinations/singular/singular-api-key.webp" alt="Singular API key" >}}
