Skip to Content
SourcesLead FormsOverview

Lead Form Sources

Source - Vendo imports paid-platform lead form submissions into a shared leads schema for identity, routing, and downstream activation.

The five lead-form sources are separate app connections in the catalog, but they all write the same normalized output shape.

Supported Platforms

PlatformApp typeSource status
Google Ads Lead Formsleads_google_adsAvailable
Meta Ads Lead Formsleads_meta_adsAvailable
TikTok Lead Formsleads_tiktok_adsAvailable
LinkedIn Lead Formsleads_linkedin_adsAvailable
Snap Lead Gen Formsleads_snap_adsAvailable

What Vendo Imports

Each connector imports one stream: leads.

DataDescription
Lead identityEmail, phone, name, company, title, location, and other form answers when provided by the platform
Form contextPlatform lead ID, form ID, form name, and submitted time
Campaign contextCampaign, ad, creative, and platform click ID where available
Custom questionsCustom form answers stored as JSON in custom_fields
Raw payloadOriginal provider response stored in raw_response for audit/debugging

All five connectors normalize records to the shared raw_leads schema, then transform them into the production leads table.

Shared Lead Fields

Field groupExamples
Identityemail, phone, full_name, first_name, last_name
Work contextcompany, job_title
Locationcity, state, zip_code, country
Campaign contextcampaign_id, campaign_name, ad_id, ad_name, click_id
Form contextlead_id, form_id, form_name, created_time, platform
Sync metadatainsert_id, job_id, raw_response, extracted_at

The dedupe key is insert_id. For most providers it is derived from the platform and lead ID; providers with form-scoped IDs include the form ID.

Platform Differences

PlatformFetch shapeCursor
Google AdsGoogle Ads API SearchStream over lead_form_submission_datasubmission_date_time
Meta AdsDiscover lead forms, then fetch leads for each formcreated_time
TikTokLead API page fetches over a date rangecreate_time
LinkedInLead form responses filtered by sponsored accountsubmittedAt
SnapDiscover lead gen forms, then fetch form leadscreated_at

Credentials

The staging launch contracts require platform credentials for each lead source.

PlatformRequired fields
Google AdsDeveloper token, OAuth client ID/secret, refresh token, customer ID
Meta AdsAd account ID and Marketing API access token
TikTokAdvertiser ID and access token
LinkedInAd account ID and OAuth access token
SnapAd account ID and OAuth access token

Some platforms also accept refresh tokens and OAuth app credentials for token refresh.

Setup

  1. Navigate to Sources in the Vendo app
  2. Select the lead-form source for the ad platform you want to connect
  3. Complete the platform OAuth or credential step
  4. Select Lead Form Submissions as the source stream
  5. Save the source and run the first sync

Verify Setup

  1. Confirm the source status is Active
  2. Run a manual sync
  3. Query the lead table for the connected source
  4. Confirm new rows include lead_id, platform, created_time, and at least one usable identity field
  5. Check custom_fields for answers to non-standard questions

Troubleshooting

SymptomWhat to check
No leads importConfirm the ad account has active lead forms and recent submissions
Duplicate-looking rowsCheck insert_id; provider-specific lead IDs may be scoped by form
Contact fields are emptyConfirm the platform form asks for the field and the lead gave consent
Custom questions are missingCheck custom_fields; non-standard questions are stored there
Last updated on