Connect Contentsquare

Connect Contentsquare to prepare measured device traffic and goal-conversion counts for your AI shoppers. The connection uses Contentsquare's Metrics API and server-to-server OAuth credentials.

Beta: credential verification stage

This connector has not been validated against a live account. It ships at the auth stage. Its snapshot parser has fixture-based coverage, but Contentsquare data does not yet enter shopper calibration or unattended snapshot refresh. A live account must validate the parser before promotion.

What the connection does

Squoosh verifies the credential's Metrics scope and project access, then obtains a short-lived token bound to the project. If you provide a conversion goal ID, it also checks the project's goal list.

The snapshot reader supports desktop, mobile and tablet session counts, plus the number of sessions that reached your selected goal divided by total sessions over the same window. It keeps a genuine zero conversion count. When the conversion metric is absent, it omits the signal and records a warning.

Contentsquare's Metrics API does not provide a verifiable geography or traffic-source breakdown. Customer-defined segments expose names without their conditions, so Squoosh cannot treat a segment name as a country or channel. After live validation and promotion, a Contentsquare-only connection can provide device calibration; geography and traffic source need another connected source or use the general defaults.

Connect Contentsquare

You need a Contentsquare administrator who can create OAuth credentials. Legacy static API keys are not supported.

  1. Open the Contentsquare Console and choose the account or project level.
  2. Open API Credentials and select Create account credentials for account-level access. Contentsquare recommends account-level credentials for their higher quota. Select access to the Metrics API and the intended project permissions.
  3. Leave the IP allowlist at any IP. Squoosh runs on Vercel without a fixed egress IP, so credentials restricted with Allow specific IP addresses may fail.
  4. Copy the Client ID and Client secret when displayed. The secret is shown only once.
  5. In Squoosh, open Integrations, find Contentsquare, and choose Connect. Enter:
  6. Client ID: the non-secret OAuth identifier.
  7. Client secret: the private credential, stored separately from connection settings.
  8. Project ID: the numeric target project ID, required for account-level credentials. Leave blank only for project-level credentials. If your credentials cover multiple projects, verification lists candidates and requires a selection.
  9. Conversion goal ID: the numeric ID of your non-e-commerce goal. The authenticated Metrics API goals list exposes these IDs. Leave blank on an e-commerce project to use its e-commerce goal.
  10. Choose Connect to verify the credentials.

Credentials expire after one year. Revoking or regenerating credentials invalidates the old pair. Reconnect Squoosh with the replacement pair after regeneration. Verification probes regional Metrics access even when no goal is configured. A configured goal must appear in the goals list; an empty list fails that check.

See Contentsquare's credential creation guide and OAuth authentication reference for the vendor's setup details.

What Squoosh reads and never reads

Data Use
Credential scopes and accessible project IDs/names Verify Metrics permission and project selection.
Project goal IDs Check a configured conversion goal.
All-device visits and conversionCount Same-window session denominator and converting-session numerator.
Desktop, mobile and tablet visits Measured device distribution.

The combined site response may also contain revenue, bounce rate and other aggregate metrics. Squoosh discards those fields. It does not request session replays, visitor identities, raw session exports, individual browsing records, surveys or customer contact information. The connector does not modify Contentsquare data or configuration. The client secret goes only in OAuth request bodies; the resulting token goes only to the validated Contentsquare API host.

Limits and caveats

  • Windows: 1 to 92 full UTC days, subject to your contractual retention. Squoosh assumes the end bound is exclusive and stops at today's UTC midnight. Contentsquare does not document inclusivity, so the boundary could include an additional day; live validation must settle this.
  • Quota: the Help Center lists 15,000 monthly requests per project or 300,000 per account. The developer reference lists 10 concurrent requests, while the Help Center lists 8. The snapshot reader sends at most four Metrics requests concurrently and declares a six-hour minimum refresh interval, sized to the tighter project quota. A snapshot takes five requests including token exchange; verification takes three, including the regional goals probe. Whether OAuth calls consume the monthly quota is unverified. See the developer limits and Help Center limits and best practices.
  • Device coverage: all-device sessions can exceed the three measured buckets. Squoosh reports the measured buckets only and warns about the unclassified residual, which may include unknown or app traffic. It never creates another bucket. If measured device counts exceed the total, it omits the inconsistent device distribution and warns.
  • Missing goals: the behavior of a non-e-commerce project with no goal ID is unverified. A missing conversionCount produces no conversion signal, never an invented zero. A rejected or malformed totals response fails the read.
  • Deployment and plans: the API host depends on the project's AWS or Azure cloud. Only public HTTPS hosts under .contentsquare.com are accepted. The actual Azure hostname pattern, Free/Growth API entitlement and app-project device semantics have not been validated. This beta is intended for web projects as an implementation assumption.
  • Freshness: Contentsquare says metrics arrive about 10 seconds after a session ends; a session ends after 30 minutes of inactivity. This does not mean Squoosh refreshes every 10 seconds.
  • No visits: a zero-visit response returns no_data; Squoosh does not save an empty successful snapshot.
  • Small samples: the shared calibration layer applies its sample floor after promotion. A few sessions never become a confidently calibrated audience.

Troubleshooting

Problem What to do
Credentials rejected Check both OAuth fields, expiry, revocation/regeneration and the IP allowlist. Legacy static keys will not work.
Metrics scope missing Create credentials that grant Metrics API access. Contact your Contentsquare administrator or CSM if that option is unavailable.
Project access missing or multiple projects found Enter the numeric Project ID and confirm it belongs to the credential's accessible projects. Account-level credentials require this field.
Conversion goal ID not found Use a goal ID belonging to the selected project. An empty goals response cannot validate a configured goal.
Conversion signal unavailable For a non-e-commerce goal, provide its ID. Confirm the project actually reports conversionCount for the requested window.
Rate or concurrency limit reached Retry later for temporary concurrency limits. A monthly quota resets on the first day of the month.
Window rejected Choose at most 92 days and stay within the project's retention period.
Unexpected endpoint or malformed response Ask Squoosh support to inspect the redacted failure. The reader fails closed instead of guessing a host or a zero value.
Connected but no shopper calibration This beta remains at credential verification stage until its parser is validated against a live account.