Getting Started with Product Analytics
Use this quick start guide to set up a new instance of Contentsquare's Product Analytics SDK in an iOS application.
AI-assisted setup
Section titled AI-assisted setupUse the Contentsquare wizard or skills to set up, update, and configure iOS with your AI coding assistant.
Contentsquare wizard
Section titled Contentsquare wizardRun the wizard in your project directory. It configures your AI coding assistant, installs the matching Contentsquare integration, and verifies the installation.
npx @contentsquare/wizard installSupports GitHub Copilot, Cursor, and Claude Code. Requires Node.js ≥ 18 and an AI coding agent with MCP support.
Configure assistant manually
Section titled Configure assistant manuallyUse this path when you prefer to configure your AI coding assistant yourself.
1. Add the Contentsquare skill
Section titled 1. Add the Contentsquare skillChoose how to install the Contentsquare skill.
Add the Contentsquare marketplace, then install the plugin for iOS:
copilot plugin marketplace add ContentSquare/agentscopilot plugin install contentsquare-ios@contentsquareAdd the Contentsquare marketplace, then install the plugin for iOS:
/plugin marketplace add ContentSquare/agents/plugin install contentsquare-ios@contentsquareInstall contentsquare from the Cursor marketplace ↗, or add the Contentsquare agents repository ↗ directly. Cursor reads the .cursor-plugin catalog in the repository.
Install the Contentsquare skill pack with the open skills.sh ecosystem:
npx skills add contentsquare/agentsDownload or clone the Contentsquare agents repository ↗, then copy skills/contentsquare-ios-sdk into the location your AI coding assistant scans for skills:
| AI coding assistant | Skill location |
|---|---|
| GitHub Copilot | .github/skills/ or .agents/skills/ |
| Cursor | .cursor/rules/ or the project root |
| Claude Code | .claude/skills/ or the project root |
| Other compatible agents | .agents/skills/ |
2. Ask your AI coding assistant
Section titled 2. Ask your AI coding assistantAfter installing the skill, paste this prompt into your AI coding assistant:
Install Contentsquare for iOS.Prefer to set things up manually? Continue with the steps below.
Manual setup
Section titled Manual setupOnce you've completed the setup process, the Contentsquare SDK will capture a wide variety of user interactions in your application with no additional code required.
Before you begin
Section titled Before you beginThis guide assumes you are using Xcode with Swift Package Manager ↗ to manage external dependencies.
Install the SDK
Section titled Install the SDK-
In your Xcode project >
Package Dependencies, add this repository location:https://github.com/ContentSquare/apple-sdk.git -
Set the Dependency Rule to
Exact Version1.12.3 -
Select
Add Package -
To ensure the library can start properly, add
-ObjCas a linker flag underBuild Settings>Linking - General>Other Linker Flags
Start the SDK
Section titled Start the SDK-
Configure and start the SDK with
CSQ.start().- Product Analytics
- CSQ Experience Platform (Early Access)
Get Early Access to CSQ Experience Platform, our latest, all-in-one offering.
Reach out to your Customer Success Manager to join the Early Access Program.
AppDelegate.swift import UIKitimport ContentsquareSDK@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate {var window: UIWindow?func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {// ...CSQ.start(environmentID: "YOUR_ENVIRONMENT_ID")}}AppDelegate.swift import UIKitimport ContentsquareSDK@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate {var window: UIWindow?func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {// ...CSQ.start(dataSourceID: "YOUR_DATASOURCE_ID")}} -
For UIKit and SwiftUI Enable screenviews and event autocapture.
- Product Analytics
- CSQ Experience Platform (Early Access)
Get Early Access to CSQ Experience Platform, our latest, all-in-one offering.
Reach out to your Customer Success Manager to join the Early Access Program.
CSQ.start(environmentID: "YOUR_ENVIRONMENT_ID",options: [.enableNativeAutocapture: true])CSQ.start(dataSourceID: "YOUR_DATASOURCE_ID",options: [.enableNativeAutocapture: true]) -
(Optional) If your Product Analytics environment is hosted in the EU, set the
baseURLoption to"https://mh.ba.contentsquare.net".- Product Analytics
- CSQ Experience Platform (Early Access)
Get Early Access to CSQ Experience Platform, our latest, all-in-one offering.
Reach out to your Customer Success Manager to join the Early Access Program.
CSQ.start(environmentID: "YOUR_ENVIRONMENT_ID",options: [.baseURL: "https://mh.ba.contentsquare.net"])CSQ.start(dataSourceID: "YOUR_DATASOURCE_ID",options: [.baseURL: "https://mh.ba.contentsquare.net"]) -
Implement the
optIn()API to forward user consent to the SDK, generate a user ID, and initiate tracking.- Product Analytics
- CSQ Experience Platform (Early Access)
Get Early Access to CSQ Experience Platform, our latest, all-in-one offering.
Reach out to your Customer Success Manager to join the Early Access Program.
import UIKitimport ContentsquareSDK// In viewDidLoad()optinButton.addTarget(self, action: #selector(optInButtonTapped), for: .touchUpInside)@objc func optInButtonTapped(_ sender: UIButton) {CSQ.start(environmentID: "YOUR_ENVIRONMENT_ID")CSQ.optIn()// Continue with post-consent navigation or UI update}import UIKitimport ContentsquareSDK// In viewDidLoad()optinButton.addTarget(self, action: #selector(optInButtonTapped), for: .touchUpInside)@objc func optInButtonTapped(_ sender: UIButton) {CSQ.start(dataSourceID: "YOUR_DATASOURCE_ID")CSQ.optIn()// Continue with post-consent navigation or UI update}Once tracking has started, you're able to take full advantage of the CSQ SDK API to identify users, track custom events, and more.
Contentsquare's Product Analytics module will also automatically start tracking a wide range of user interactions, view controller changes, and app version changes without any additional code.
-
Start your application, and check logs for this output:
[INFO] CSQ 1.12.3 for Product Analytics is attempting to start.
Next steps
Section titled Next stepsOur SDK offers a wide range of features to enhance your implementation, including extended tracking capabilities, and personal data masking.
Session Replay and Error Monitoring are both available with the Experience Analytics extension, which you can purchase separately.

