I’m trying to configure custom properties for contacts in HubSpot using the Segment track events feature. According to the guidelines, I am sending user trait data during the track event, but it seems the custom attributes are not appearing in my HubSpot contacts.
Check your HubSpot destination configuration in Segment - specifically the contact property mapping settings. I ran into this same frustration when I was working on a similar integration. The problem was that my HubSpot API key didn’t have sufficient permissions to write custom properties, even though it could create contacts. You need to ensure your HubSpot private app or API key has “CRM” scope with write permissions for contacts. Also double-check that you’re not hitting HubSpot’s property limits - they have restrictions on how many custom properties you can have per account tier. Another gotcha is that some property types in HubSpot have specific formatting requirements that can cause silent failures if the data doesn’t match exactly. Try testing with a simple text property first to isolate whether it’s a permissions issue or a data formatting problem.
I encountered a similar issue last year and discovered that HubSpot requires custom properties to be created manually in the platform before Segment can populate them. The integration doesn’t automatically generate new contact properties from incoming data. Navigate to your HubSpot settings, then Properties, and create the custom contact properties you want to sync. Make sure the internal names match exactly what you’re sending from Segment. Also verify that your HubSpot destination in Segment has the correct permissions enabled for contact property updates. Another thing to check is the data mapping configuration in your Segment HubSpot destination settings. Sometimes the field mapping needs to be explicitly configured rather than relying on automatic detection.
hey there! looks like you might be mixing up identify and track calls. for custom contact properties you should use analytics.identify() instead of putting traits in the track call context. try switching to identify with your traits as the main payload - that’s what actually updates contact properties in hubspot.
Had this exact problem about six months ago and it drove me crazy for weeks. The issue turned out to be a timing problem with how Segment batches the data before sending to HubSpot. Even though your debugger shows the events correctly, there can be delays or failures in the actual destination delivery. Check your Segment destination logs in the dashboard - go to Connections > Destinations > HubSpot and look at the delivery metrics. You might see failed deliveries or error messages there that aren’t obvious from the debugger alone. In my case, some events were getting dropped due to rate limiting on HubSpot’s end during high traffic periods. Also worth noting that HubSpot sometimes takes several minutes to reflect property updates even when the sync works properly, so make sure you’re waiting long enough before checking the contact records.