ChangelogBook a demoSign up

Error codes

When something fails in Hightouch, the platform assigns an error code that identifies the cause. This page is a complete reference of all Hightouch error codes, organized by where they originate.

Some error codes include troubleshooting links directly in the Hightouch UI. If you don't see a link for your error, use this page to find the code and follow the resolution steps.

Don't see your error code? This page covers Hightouch platform error codes only. Hightouch passes error messages from third-party APIs directly, so if you see a vendor error (like a 400 or 409), check the destination's docs page under Tips and troubleshooting or use the live debugger to inspect the full response.


If your error still isn't covered anywhere, use the Send feedback button on this page to let us know and we'll add it.

Sync request errors

These errors occur during sync planning, before Hightouch sends any data to the destination. They typically indicate a problem with your model, primary key, or warehouse configuration.

Error codeWhat it meansHow to resolve
DUPLICATE_COLUMNS_DETECTEDYour model query returns duplicate column names.Alias columns in your model SQL so every selected field has a unique name.
NON_UNIQUE_PRIMARY_KEYThe selected primary key contains duplicate values.Update your model so each row has a unique identifier. If you're using a SQL model, add a DISTINCT clause or GROUP BY on the key column.
UNSUPPORTED_PRIMARY_KEY_TYPEThe primary key's data type isn't supported for this sync path.Cast the primary key to a supported type (typically VARCHAR or INTEGER) in your model SQL.
QUERY_COLUMN_MISSINGA column referenced in your sync configuration no longer exists in the model query results.Refresh the model schema in Hightouch and update your field mappings to use valid columns.
WAREHOUSE_TABLE_MISSINGA warehouse table required for sync planning doesn't exist.Confirm the table still exists in your warehouse and that the model points to the correct schema and table name.
PREVIOUS_SYNC_RUN_OBJECT_MISSINGStored objects from the previous sync run are missing, usually because cached plan data expired.Retry the sync. If it persists, trigger a full resync to rebuild sync state.
REMOVE_PLAN_INCOMPLETEBackfill or removal planning couldn't complete during a planner transition.Retry the sync after a few minutes. If it continues, .
REMOVE_RETRY_CHANGED_COLUMN_TYPESRejected-row removal retries are unsafe because model column types changed between runs.Refresh your model schema and trigger a full resync from a consistent state.
SORT_RAN_OUT_OF_DISK_SPACESorting rows exhausted available disk space.Narrow the model to reduce row volume, or for infrastructure help.
UNSPECIFIEDHightouch couldn't classify the failure into a more specific code.Use the live debugger and warehouse sync logs to identify the root cause.

Destination errors

Generic destination errors

These errors can occur with any destination. They indicate a problem with authentication, rate limits, or the destination's availability.

Error codeWhat it meansHow to resolve
DESTINATION_INVALID_GRANTThe destination's authorization grant expired or was revoked.Reconnect the destination in Hightouch to refresh authorization.
DESTINATION_INVALID_CREDENTIALSThe destination credentials are invalid.Verify the username, password, token, or secret configured for the destination. Reconnect if needed.
DESTINATION_INVALID_API_KEYThe API key is invalid or expired.Replace it with a current key that has the required permissions.
DESTINATION_DEFINITION_NOT_FOUNDHightouch couldn't load the destination type definition.Confirm you're using a supported destination type. If the connector appears broken, .
DESTINATION_INTERNAL_ERRORThe destination returned a generic internal failure or timed out.Retry the sync. If it continues, check the destination's status page for outages, or .
DESTINATION_RATE_LIMITThe destination rate-limited the sync.Wait for the rate limit window to reset, then retry. To prevent recurrence, reduce sync frequency or batch volume.
DESTINATION_MISSING_AD_ACCOUNTA required ad account is missing from the destination configuration or inaccessible.Re-check the destination setup and confirm your account has access to the selected ad account.
DESTINATION_PAYLOAD_TOO_LARGEThe destination rejected the payload as too large.Reduce batch size in your sync configuration, or trim the number of mapped fields.

Salesforce

For additional Salesforce-specific errors returned by the Salesforce API, see Salesforce: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
SALESFORCE_INACTIVE_USERThe Salesforce integration user is inactive.Reconnect the destination with an active Salesforce user.
SALESFORCE_EXPIRED_TOKENThe Salesforce access token expired.Reauthorize the destination in Hightouch.
SALESFORCE_INACTIVE_ORGThe Salesforce org is inactive or inaccessible.Confirm the org is active and the integration user can log in.
SALESFORCE_RESOURCE_DOES_NOT_EXISTA referenced Salesforce object, field, or record doesn't exist.Check the object name, field name, or record ID in your sync configuration.
SALESFORCE_AUTH_FAILURESalesforce authentication failed.Re-check credentials, connected app settings, and any IP or login restrictions in Salesforce.
SALESFORCE_REQUESTS_LIMIT_EXCEEDEDSalesforce API limits were exceeded.Wait for the limit to reset, or reduce sync frequency and concurrency. See Salesforce API limits.
SALESFORCE_NETWORK_DIFFICULTYA network or transport failure prevented the Salesforce request from completing.Retry the sync and check for temporary Salesforce outages on Salesforce Status.
SALESFORCE_MAX_CALL_STACKSalesforce hit a recursion or call-stack limit during processing.Review Apex triggers, flows, and automation rules that may be recursively updating records during the sync. See Salesforce: UNABLE_TO_LOCK_ROW for related guidance.
SALESFORCE_UNABLE_TO_LOCK_ROWSalesforce row locking prevented the write because another process is modifying the same record.Retry later, reduce concurrent updates, or lower your parallelization setting. See Salesforce: UNABLE_TO_LOCK_ROW for detailed steps.

Salesforce Marketing Cloud (SFMC)

For additional SFMC-specific errors, see SFMC: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
SFMC_DATA_EXTENSION_ADD_UPDATE_ONLYThis SFMC sync path only supports add and update operations.Change the sync mode or target a Data Extension that supports the requested operation.
SFMC_IMPORT_FAILED_NO_RECORDSThe SFMC import failed because no records were present in the batch.Confirm that the source model returned rows for this sync run.

HubSpot

For additional HubSpot-specific errors, see HubSpot: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
HUBSPOT_RATE_LIMIT_DAILYHubSpot's daily API limit was reached.Wait for the daily limit to reset (typically midnight ET). To prevent recurrence, reduce sync frequency or volume. See HubSpot API usage guidelines.
HUBSPOT_RATE_LIMIT_TEN_SECONDLYHubSpot's rolling 10-second rate limit was reached.Hightouch automatically retries these. If the error persists across runs, reduce concurrent syncs to HubSpot.
HUBSPOT_RATE_LIMIT_SECONDLYHubSpot's per-second rate limit was reached.Hightouch automatically retries these. Reduce burst volume if the error recurs.
HUBSPOT_INVALID_REFRESH_TOKENThe HubSpot OAuth refresh token is invalid or expired.Reconnect the HubSpot destination in Hightouch to generate a new token.
HUBSPOT_SYNC_ERRORHubSpot returned a generic sync error.Retry the sync. If it continues, check HubSpot-side logs and object validation rules.
HUBSPOT_CONNECTION_ERRORA connection failure prevented the HubSpot request from completing.Retry and check for temporary HubSpot outages on HubSpot Status.
HUBSPOT_CONTACT_ALREADY_EXISTSA contact with this email already exists in HubSpot.Review your record matching configuration. HubSpot uses email as the primary unique identifier. See HubSpot: 409 - Contact already exists for detailed steps.
HUBSPOT_CLOUDFLARE_BLOCKED_IPHubSpot's Cloudflare proxy blocked the request IP.If you use Hightouch's static IPs, confirm they aren't blocked by your HubSpot account's network settings. Contact HubSpot support if needed.

For additional Google Ads-specific errors, see Google Ads: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
GOOGLE_ADS_INTERNAL_SERVER_ERRORGoogle Ads returned an internal server error.Retry the sync after a short delay. Check Google Ads Status for outages.
GOOGLE_ADS_USER_LIST_NOT_FOUNDThe target Google Ads audience doesn't exist.Confirm the audience still exists in Google Ads and the connected account has access.
GOOGLE_ADS_UNAUTHORIZEDGoogle Ads rejected the request due to missing permissions or invalid authorization.Reauthorize the destination and confirm the connected account has the required access level.
GOOGLE_ADS_USER_LIST_NAME_ALREADY_IN_USEAn audience with this name already exists in Google Ads.Use a unique audience name, or connect the sync to the existing audience.
GOOGLE_ADS_CONCURRENT_MODIFICATIONGoogle Ads rejected the update because another change is still processing.Wait a few minutes and retry. Avoid running multiple syncs to the same audience simultaneously.
GOOGLE_ADS_STORE_SALES_DIRECT_DATA_NOT_ALLOWEDStore sales direct data isn't enabled for this Google Ads account.Confirm account eligibility and enable the feature in Google Ads. See Google Ads Store Sales requirements.
GOOGLE_ADS_GENERIC_INVALID_ARGUMENTGoogle Ads rejected the request as invalid.Review required fields, identifiers, and mapped values. Use the live debugger to inspect the rejected payload.

Braze

For additional Braze-specific errors, see Braze: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
BRAZE_SERVICE_UNAVAILABLEBraze is temporarily unavailable.Retry the sync after a short delay. Check Braze Status for outages.
BRAZE_ACCESS_DENIEDBraze denied access to the API.Confirm the API key has the required permissions in your Braze dashboard.
BRAZE_INVALID_REQUESTBraze rejected the request content or structure.Check required fields and value formats. Use the live debugger to inspect the rejected payload.

TikTok

For additional TikTok-specific errors, see TikTok: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
TIKTOK_GATEWAY_TIMEOUTTikTok timed out while processing the request.Retry the sync after a short delay.
TIKTOK_REJECTED_REPLACE_OPTikTok rejected a replace operation because another audience job is still processing.Wait for the existing job to complete before retrying.
TIKTOK_AUDIENCE_ERRORThe TikTok audience is invalid or not editable.Confirm the audience exists in TikTok Ads Manager and supports the requested operation.
TIKTOK_PERMISSION_DENIEDThe connected TikTok account lacks the required permissions.Reauthorize with a TikTok account that can manage the target advertiser and audience.
TIKTOK_INVALID_ENCRYPTION_VALUETikTok rejected the configured encryption or hashing value.Verify the expected hashing format in your TikTok sync configuration.

Google Sheets

For additional Google Sheets-specific errors, see Google Sheets: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
GOOGLE_SHEETS_INVALID_GRANTThe Google Sheets authorization grant is invalid.Reauthorize the destination in Hightouch.
GOOGLE_SHEETS_INVALID_DATA_TYPEThe sync tried to write an unsupported value type to a cell.Cast complex values (arrays, objects) to plain text or supported scalar types in your model.
GOOGLE_SHEETS_INVALID_RANGEThe configured write range is invalid.Check the tab name, cell range, and sheet structure in the destination configuration.
GOOGLE_SHEETS_EXCEEDS_GRID_LIMITSThe write would exceed the spreadsheet's grid limits (10 million cells).Reduce the number of rows or columns, or write to a new sheet.
GOOGLE_SHEETS_MISSING_SHEET_IDThe spreadsheet or sheet identifier is missing from the configuration.Reopen the destination setup and confirm the selected sheet.
GOOGLE_SHEETS_QUOTA_EXCEEDEDThe Google Sheets API quota was exceeded.Retry later, or reduce sync frequency. See Google Sheets API limits.
GOOGLE_SHEETS_ENTITY_NOT_FOUNDThe target spreadsheet or sheet no longer exists.Confirm the spreadsheet exists and is shared with the connected Google account.

Slack

For additional Slack-specific errors, see Slack: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
SLACK_NOT_IN_CHANNELThe Hightouch Slack app isn't a member of the target channel.Invite the Hightouch app to the channel, or select a different channel.
SLACK_IS_ARCHIVEDThe target Slack channel is archived.Unarchive the channel or choose a different destination channel.
SLACK_INVALID_BLOCKSSlack rejected the block payload as invalid.Validate the Block Kit JSON structure and required fields.
SLACK_NO_TEXTThe Slack message is missing required text content.Add message text to your sync configuration, even if blocks are also present.
SLACK_NON_CALLABLE_ITERATORAn unexpected payload construction failure occurred.Retry once. If it persists, .
SLACK_UNEXPECTED_TOKENSlack rejected the payload due to invalid syntax.Review templated message content and JSON formatting for syntax errors.

Other destinations

Error codeWhat it meansHow to resolve
AMPLITUDE_INVALID_JSON_REQUESTAmplitude rejected the request payload format.Review field mappings and ensure the JSON structure matches Amplitude's API requirements.
CITRUS_AD_INVALID_BASE_URLThe configured CitrusAd base URL is invalid.Update the destination with the correct API endpoint.
ITERABLE_INVALID_LIST_IDThe Iterable list ID is invalid.Confirm the list still exists in Iterable and the configured ID is correct.
ANAPLAN_BAD_MAPPINGSThe Anaplan field mappings are invalid.Re-check dimension, line-item, and field mapping setup. See Anaplan: Tips and troubleshooting.
ANAPLAN_NULL_POINTERThe Anaplan request failed with a null-pointer error.Retry first. If it persists, check mapped objects and source values for missing required fields.
TABOOLA_MISSING_NUMERIC_ACCOUNT_IDThe Taboola account ID is missing or not numeric.Update the destination configuration with the correct numeric account ID.
ELASTICSEARCH_INVALID_METADATA_TYPEThe Elasticsearch metadata type is invalid.Check mapping configuration and ensure metadata fields use supported types.
FRESHDESK_CLOUDFLARE_IP_BLOCKEDFreshdesk's Cloudflare proxy blocked the request IP.Confirm Hightouch's static IPs are allowlisted, or contact Freshdesk support.

Rejected-row errors

Rejected-row errors apply to individual records, not the entire sync run. You can inspect rejected rows in the live debugger or warehouse sync logs.

Error codeWhat it meansHow to resolve
NULL_EXTERNAL_IDA required external ID is null for one or more rows.Ensure the mapped identifier column is populated for every record. Update your model to filter out rows with null identifiers.
DUPLICATE_PRIMARY_KEYMultiple source rows share the same primary key value.Deduplicate your model so each primary key appears only once per sync run.

LinkedIn

For additional LinkedIn-specific errors, see LinkedIn: Tips and troubleshooting.

Error codeWhat it meansHow to resolve
LINKEDIN_INVALID_CONVERSIONLinkedIn rejected the conversion payload.Check that all required conversion fields are present and correctly formatted.
LINKEDIN_EVENT_TOO_OLDThe event timestamp is outside LinkedIn's allowed time window.Send more recent events. LinkedIn typically requires events within the last 90 days.
LINKEDIN_MISSING_USER_IDSRequired LinkedIn user identifiers are missing.Map at least one accepted identifier (email, Google Advertising ID, or Apple IDFA) for each row.
LINKEDIN_MISSING_INVALID_USER_INFOLinkedIn user information is missing or invalid.Review identifier formatting and required match fields.
LINKEDIN_MISSING_IDENTIFIER_OR_NAMEA required identifier or name value is missing from the row.Populate the required matching fields before syncing.
LINKEDIN_INVALID_SEGMENT_VALUEA segment value (often email) failed LinkedIn's validation.Check email formatting and ensure values meet LinkedIn's requirements.
LINKEDIN_PERMISSION_DENIEDThe connected LinkedIn account lacks the required permissions.Reauthorize with a LinkedIn account that can manage the target audience or conversion action.
LINKEDIN_API_ERRORLinkedIn returned a generic row-level API failure.Retry if the issue appears transient. Use the live debugger to inspect LinkedIn's response for the affected rows.

Predictive traits errors

These errors occur when training or running predictive trait models. They indicate a problem with training data, event configuration, or warehouse access.

Error codeWhat it meansHow to resolve
NO_USERS_IN_INPUT_FILEThe training audience returned no users.Check that the parent audience or model query returns rows before training starts.
NO_USER_ROWS_AFTER_FILTERSUsers were present initially, but predictive filters removed all of them.Loosen the filters or verify that event and property conditions match real data.
NO_TRAINING_DATA_FILESHightouch couldn't generate the training dataset.Confirm that the configured events return data and the event model is queryable.
LABEL_FREQUENCY_TOO_LOWThere aren't enough examples of the target outcome to train the model reliably.Increase the lookback window, reduce filters, or choose a higher-volume outcome event.
NO_POSITIVE_EXAMPLESThe training data contains zero positive examples of the target event.Check that the outcome event is occurring for users in scope.
TRAINING_MATRIX_DOWNLOAD_FAILEDAn internal failure occurred while retrieving the training artifact.Retry the run. If it persists, — this is typically not customer-fixable.
NO_KEY_EVENTSNo feature-generation events are configured.Add at least one event input in the predictive trait configuration before retraining.
EVENT_MODEL_MISCONFIGUREDThe event model configuration is invalid.Confirm the event model exists, has a valid primary key, and includes all referenced columns.
EVENT_QUERY_FAILEDHightouch couldn't query event data from the warehouse.Check warehouse permissions, model SQL, and whether the referenced tables still exist.
SOURCE_ACCOUNT_LOCKEDThe warehouse user account is locked.Wait for the lockout to clear, or have your warehouse admin re-enable the account.
UNKNOWN_EVENT_IN_FILTERA predictive filter references an event Hightouch can't resolve.Check for renamed, deleted, or misconfigured events in the predictive trait setup.
INVALID_EVENT_PROPERTY_CONDITIONAn event-property filter is malformed.Verify the filter syntax and confirm you're using valid string property names.
NO_EVENT_DATA_FILESNo event data was produced for training or inference.Confirm the configured events have recent data and event pulls are succeeding.
TRAINING_ERRORAn internal training failure occurred.Retry once. If it repeats, .
CACHED_EVENT_PULL_DISABLEDA required event pull is disabled.Re-enable the event pull in your schema configuration and rerun the predictor.
MALFORMED_EVENT_DATANumeric event fields contain invalid values.Clean the source data so numeric columns contain only valid numbers (no strings, nulls in numeric-only fields, etc.).
MODEL_QUERY_FAILEDHightouch couldn't query the parent model data needed for the run.Check that the parent model still exists and all referenced columns are present.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service

Last updated: Jun 2, 2026

On this page
  • Sync request errors
  • Destination errors
  • Generic destination errors
  • Salesforce
  • Salesforce Marketing Cloud (SFMC)
  • HubSpot
  • Google Ads
  • Braze
  • TikTok
  • Google Sheets
  • Slack
  • Other destinations
  • Rejected-row errors
  • LinkedIn
  • Predictive traits errors

Was this page helpful?