# Implementation Guide

You can choose from three methods to implement front-end tracking on your platform.

## [SDK](https://crownpeak.gitbook.io/product-discovery/tracking-and-sending-events/implementation-guide/sdk)

The Crownpeak Product Discovery client is a (universal) JavaScript library. It can be used both on the client-side and on the server-side. We recommend including the client from our [CDN](https://crownpeak.gitbook.io/product-discovery/tracking-and-sending-events/sdk#cdn-installation) for browser usage. For more advanced use cases (where a bundler is involved), we recommend the [npm package](https://crownpeak.gitbook.io/product-discovery/tracking-and-sending-events/sdk#npm-installation) if you intend to use our client on the server-side.

## [Google Tag Manager](https://crownpeak.gitbook.io/product-discovery/tracking-and-sending-events/implementation-guide/google-tag-manager)

We recommend this method if you are already using Google Tag Manager (GTM).

## [REST API](https://crownpeak.gitbook.io/product-discovery/tracking-and-sending-events/implementation-guide/rest-api)

We recommend this implementation method if you do not use JavaScript and prefer to send direct HTTP requests.
