# Debug Destination Live Events


When routing events to a destination via RudderStack, there may be times when the events do not show up in your destination. This guide walks you through the steps to debug this issue using RudderStack's [Live Events]({{< ref "monitor/live-events.md" >}}) feature.

{{< warning >}}
To view and debug your destination live events, your destination must be configured to send events in [cloud mode]({{< ref "destinations/rudderstack-connection-modes.md#cloud-mode" >}}).
{{< /warning >}}

## Why are events sent to the destination failing?

Routing events to a destination via RudderStack can fail for various reasons, including:

- Incorrect destination configuration
- Bad event structure, that is, event is not in a destination-specific format
- Rate limiting enforced by the destination
- Destination downtime

You can use RudderStack's [Live Events]({{< ref "monitor/live-events.md" >}}) feature to view the events sent to your destination in near real-time, and debug any delivery failure.

## View destination live events

1. [Set up your destination]({{< ref "dashboard-guides/destinations/_index.md#adding-a-destination" >}}) in RudderStack.
2. Click the **Live Events** button to view the events sent from your source:

{{< image src="images/user-guides/destination-live-events.webp" alt="Destination Live Events button" >}}

The resulting window highlights the following information: 

- **Name** of the event.
- **Error message** of the event in case of any event failure. Upon clicking **See full error**, you get the specific details like the error response and the time of the first attempt made to send the event.

{{< image src="images/user-guides/destination-live-events-error-new.webp" alt="Destination Live Events error details" >}}

3. Click the event to view the event payload sent to the destination.

{{< image src="images/user-guides/destination-live-events-details.webp" alt="Destination Live Events window" >}}

### Important considerations

- A live session stays active for about 15 minutes after you open it. 
- New events appear on a short polling cadence (typically every few seconds), so updates are not instant.
- Only a fixed set of events is visible at a time — the viewer does not auto-scroll. Click the **Clear Events** button to load the next set of incoming events.
- Live events are shown for all RudderStack destinations **except** the object storage destinations like: 
    - [Amazon S3]({{< ref "destinations/streaming-destinations/amazon-s3.md" >}})
    - [Google Cloud Storage]({{< ref "destinations/streaming-destinations/google-cloud-storage.md" >}})
    - [Microsoft Azure Blob Storage]({{< ref "destinations/streaming-destinations/microsoft-azure-blob-storage.md" >}})

## Use case

Suppose that you send some events to the [Facebook Custom Audience]({{< ref "destinations/reverse-etl-destinations/facebook-custom-audience/_index.md" >}}) destination but they are not delivered. 

Upon checking the **Live Events** tab for the **Facebook Custom Audience** destination, you observe the following error:

{{< image src="images/rs-cloud/custom-audience-error.webp" alt="Custom Audience destination error" >}}

On clicking the **See full error** option, you can see the following error response:

{{< image src="images/rs-cloud/custom-audience-full-error.webp" alt="Custom Audience full destination error" >}}

From the error response, it is clear that an [`identify`]({{< ref "event-spec/standard-events/identify.md" >}}) event was sent to the destination. According to the [Facebook Custom Audience documentation]({{< ref "destinations/reverse-etl-destinations/facebook-custom-audience/_index.md" >}}), only [`track`]({{< ref "event-spec/standard-events/track.md" >}}) events are supported. As a result, when RudderStack tries sending the `identify` event, the destination gives an error. RudderStack retries sending this event several times before marking it as aborted.

This way, you can use the **Live Events** feature to better understand the responses received from the destination in case of any delivery failures and resolve them faster.

