> For the complete documentation index, see [llms.txt](https://rudderlabs.gitbook.io/rudderlabs-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rudderlabs.gitbook.io/rudderlabs-1/docs/user-guides/how-to-guides/rudderstack-jamstack-integration/rudderstack-angular-integration.md).

# How to Integrate Rudderstack with Your Angular App

Step-by-step guide to integrate RudderStack with your Angular app for event tracking.

This guide will help you integrate RudderStack with your Angular app using the [JavaScript SDK](https://rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-javascript-sdk/). On successful integration, you can track and send real-time user events to your preferred destinations via RudderStack.

To set up the event stream on your Angular app, you need to perform the following steps:

1. [Integrate the JavaScript SDK with your Angular app and set up the tracking code](#integrating-the-javascript-sdk-with-your-angular-app)
2. [Configure a destination in RudderStack](#configuring-a-destination-in-rudderstack)
3. [Deploy your Angular app and verify the events](#deploying-your-angular-app-and-verifying-the-event-stream)

## Prerequisites

This guide assumes you have installed and set up your Angular app. Refer to the [Angular documentation](https://angular.io/guide/setup-local) for more information.

## Integrating the JavaScript SDK with your Angular app

Integrating the JavaScript SDK with your Angular app involves the following steps:

1. [Creating a JavaScript source in RudderStack](#creating-a-javascript-source-in-rudderstack)
2. [Installing and configuring the JavaScript SDK in your Angular app](#installing-and-configuring-the-javascript-sdk-in-your-angular-app)

### Creating a JavaScript source in RudderStack

The RudderStack JavaScript source is required track the events from your Angular app. Follow these steps to set it up in your [RudderStack dashboard](https://app.rudderstack.com/):

1. Note the data plane URL in your RudderStack dashboard. This is required to set up the JavaScript SDK in your Angular app.

![RudderStack dashboard](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-aa136fe83a152211c0cc3cff9501fab29c328c73%2Frudderstack-dashboard.png?alt=media)

1. Click on the **Sources** button in the left navigation bar and select **New Source** to create a source. Then, select **Event Streams** under **Sources**, and select **JavaScript**.

![RudderStack directory](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-2692d2f99b40940c665bb555829c6fdc8f24c200%2Frudderstack-directory.png?alt=media)

1. Assign a name to your source and click **Next**.
2. Your JavaScript source is now configured. Note down the write key for this source, as shown:

![RudderStack dashboard](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-c254cf46f339d406e026ebd85e3d3a101989ad83%2Fjavascript-writekey.png?alt=media)

### Installing and configuring the JavaScript SDK in your Angular app

To integrate RudderStack with your Angular app and set up the tracking code, follow the steps below:

1. In your Angular project, navigate to the `src` folder and open `index.html`.
2. Place the following code within the `<head>` section:

```html
<script> 
    rudderanalytics=window.rudderanalytics=[];
    var  methods = [
            "load",
            "page",
            "track",
            "identify",
            "alias",
            "group",
            "ready",
            "reset",
            "getAnonymousId",
            "setAnonymousId"
        ];
        for (var i = 0; i < methods.length; i++) {
              var method = methods[i];
              rudderanalytics[method] = function (methodName) {
                    return function () {
                          rudderanalytics.push([methodName].concat(Array.prototype.slice.call(arguments)));
                    };
                  }(method);
        }
    rudderanalytics.load("WRITE_KEY","DATA_PLANE_URL");
    //rudderanalytics.page();
  </script>
  <script src="https://cdn.rudderlabs.com/v1.1/rudder-analytics.min.js"></script>
```

If you are using an older version of the JavaScript SDK (v1), refer to the [Version Migration Guide](https://www.rudderstack.com/docs/stream-sources/rudderstack-sdk-integration-guides/rudderstack-javascript-sdk/version-migration-guide/) to migrate to v1.1.

1. Replace `WRITE_KEY` and `DATA_PLANE_URL` with your JavaScript source write key and the data plane URL obtained in the [Creating a JavaScript source in RudderStack](#creating-a-javascript-source-in-rudderstack) section above.

Refer to the sample Angular app in the [RudderStack Sample Applications](https://github.com/rudderlabs/rudder-samples) repository for more information.

## Configuring a destination in RudderStack

This section details the steps required to set up a destination platform in RudderStack, where you can send all the events tracked by the JavaScript SDK.

For this guide, Google Analytics is added as a destination.

1. Click on **Add Destination** in RudderStack dashboard's home page.
2. Choose **Google Analytics** from the list of destinations.
3. Assign a name to your destination and click **Next**.
4. Select the JavaScript source configured in the above section and click **Next**.
5. Configure your Google Analytics destination with your Google Analytics **Tracking ID** in the **Connection Settings** page. For details on the other settings, refer to the [Google Analytics documentation](https://www.rudderstack.com/docs/destinations/analytics/google-analytics-ga/).

![Google Analytics destination configuration](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-55b237b747a338aa632e656dccc794f62797c702%2Fga-settings.png?alt=media)

Optionally, you can add a [user transformation](https://rudderstack.com/docs/transformations/) to this destination to transform your events before sending them to Google Analytics.

Google Analytics is now configured as a destination. You should be able to see the connection in your RudderStack dashboard, as seen below:

![Google Analytics connection](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-a292abd265ca40e801ee18e7e75c7db22631de62%2Frudderstack-ga-connection.png?alt=media)

You can also set up a warehouse destination in RudderStack and send your tracked events to it.

## Deploying your Angular app and verifying the event stream

To verify if your event stream is working correctly, deploy your Angular app and test if the events are tracked and delivered correctly. To do so, follow these steps:

1. From your terminal, navigate to your Angular project's root folder and run the following command:

```bash
ng serve
```

1. Open the local server URL(generally `http://localhost:4200/`) in your browser to view the app.
2. Go to your browser's developer tools and check the **Network** tab to verify if the RudderStack JavaScript SDK (`rudder-analytics.js`) is loaded correctly. The following image highlights this option for the Google Chrome browser:

![Chrome Network tab](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-251f874547286c1d87fef8607098d217a3af80f4%2Fbrowser-network-tab.png?alt=media)

1. Click on the various links or pages in your app for RudderStack to track these actions.
2. Go to the **Live Events** tab of your JavaScript source in the RudderStack dashboard to check if the events are tracked:

![RudderStack live events tab](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-f6a9c8d959eb5f8a38b03293f029bef35d8387b6%2Flive-events.png?alt=media)

You may face a minor delay before the events start showing up in your dashboard and destination.

1. Upon successful tracking, you will see the events in your RudderStack dashboard:

![RudderStack live events tab](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-172f1c87f761cf125e46a8af42e134a646011001%2Fsuccessful-live-events-angular.png?alt=media)

1. In your Google Analytics dashboard, go to **Realtime** > **Events** to check if the events are delivered. Your tracked events will be shown in this window along with other metrics such as number of active users, source platform, etc.

![Google Analytics live events tab](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-202f87efc8d47178eaa8ba5a582c6c9d8c6252c4%2Fga-live-events-angular.png?alt=media)

## Contact us

For queries on any of the sections covered in this guide, you can [contact us](mailto:%20docs@rudderstack.com) or start a conversation in our [Slack](https://rudderstack.com/join-rudderstack-slack-community) community.
