Targetlytics.AI

HubSpot integration

Ground your AI-search buyer personas in the customers you actually close.

What the app does

Targetlytics tracks how your brand appears in AI answer engines such as ChatGPT, Google AI Overviews, Perplexity and Copilot. To do that it models your buyer personas and generates the prompts it tests on your behalf.

Without a CRM connection those personas are inferred from your website. Connecting HubSpot replaces the guesswork with evidence: the job titles, industries, company sizes and deal outcomes already recorded in your CRM. Targetlytics reads that data in aggregate and proposes updates to your personas, brand profile and tracked prompts.

The connection is read-only. Targetlytics never creates, updates or deletes anything in your HubSpot account.

Before you start

  • A Targetlytics account with at least one brand set up.
  • A HubSpot user with permission to install apps (typically a Super Admin) in the account you want to connect.
  • Contacts, companies and deals in that HubSpot account. Any HubSpot tier works, including Free — but segments below a minimum size are discarded (see How your data is handled), so very small datasets may produce no suggestions.

Connect your HubSpot account

  1. In Targetlytics, open Connections from the left navigation.
  2. Find the HubSpot card and click Connect.
  3. You are redirected to HubSpot. Choose the account to connect and review the requested permissions, then click Connect app.
  4. HubSpot returns you to Targetlytics and the card shows as connected. The first sync starts automatically and usually completes within a few minutes.

After the first sync, Targetlytics re-syncs once a week. You can also trigger a refresh at any time with Sync now on the HubSpot card.

Permissions the app requests

All four scopes are read-only. The app requests no write scopes of any kind.

ScopeWhat it is used for
crm.objects.contacts.readJob titles, lifecycle stage and original source of contacts — read in aggregate to learn which roles and channels your buyers come from.
crm.objects.companies.readIndustry, employee count, annual revenue band and country of associated companies — the firmographics of the accounts you actually sell to.
crm.objects.deals.readDeal amount, stage and closed-won / closed-lost outcome — used to weight segments by revenue and win rate, and to derive price bands.
crm.schemas.deals.readDeal pipeline and stage names, so a stage identifier can be resolved to its human-readable label. Schema only — no record data.

The oauth scope is also requested; HubSpot requires it on every OAuth app to identify the connected account.

How your data is handled

This is the part worth reading closely, because it is the main design constraint of the integration.

  • Individual records are never stored. Contacts, companies and deals are read page by page, counted, and discarded. They exist only in the memory of the sync worker for the duration of the sync.
  • Only aggregates are written to our database. For example “42 contacts with a Head of Marketing title, 9 of which are linked to closed-won deals” — never the contacts themselves.
  • Small segments are dropped. Any bucket below a minimum count threshold is discarded before storage, so a stored aggregate can never describe a single identifiable person.
  • No personal data reaches the language model. The model that drafts persona and brand-profile suggestions receives only the aggregate counts and percentages described above. No names, email addresses, phone numbers, deal names, notes, call records or free-text fields are read at any point.
  • Processing stays in the EU. Sync and storage run in Google Cloud’s europe-north1 region (Finland).

See our privacy policy for the full description of how Targetlytics processes customer data, including our role as a processor under the GDPR.

What you get after a sync

  • Persona suggestions — proposed edits to your existing personas and new personas for high-value segments your current personas miss. Each suggestion shows the aggregate it is based on.
  • Brand profile suggestions — grounded values for fields such as the industries you serve, the use cases that convert, your buyers’ own vocabulary, and real price bands from closed-won deals.
  • Refreshed prompt suggestions — once you accept persona changes, Targetlytics regenerates the prompts it recommends tracking, using the improved personas.

Nothing is applied automatically. Every suggestion is a proposal you accept, edit or reject, and accepted prompts are still only added to tracking when you say so.

Disconnecting and uninstalling

  1. In Targetlytics, go to Connections and click Disconnect on the HubSpot card. This deletes the stored access and refresh tokens immediately and stops all future syncs.
  2. Optionally, in HubSpot go to Settings → Integrations → Connected apps, find Targetlytics and click Uninstall to revoke access from the HubSpot side as well.

Personas and brand profile fields you already accepted stay in your Targetlytics brand — they are your content. To have the stored CRM aggregates deleted as well, email support@targetlytics.com.

Troubleshooting

The card says the connection expired

Access was revoked in HubSpot, or the refresh token is no longer valid. Click Connect again to re-authorise.

The sync finished but there are no suggestions

Usually there is not enough data for any segment to clear the minimum size threshold, or too few closed-won deals to weight segments by revenue. Suggestions appear on a later sync as the CRM fills up.

Deal stages show as identifiers instead of names

The crm.schemas.deals.read permission was not granted. Reconnect the app and accept all requested permissions.

Support

Email support@targetlytics.com or use the contact form. We reply within one business day.