Skip to main content
Upstack automatically detects and captures form submissions from popular email and SMS platforms. When a visitor submits a form on one of these platforms, we capture their email and/or phone number and fire appropriate tracking events.
Works on any website — these integrations work on Shopify stores, headless storefronts, and custom websites. As long as the Upstack pixel and the third-party tool are both installed, form capture is automatic.
No configuration required — these integrations work automatically when both Upstack and the third-party tool are installed on your site.

How It Works

When a visitor submits a signup form from a supported platform:
  1. Upstack detects the submission automatically when both apps are installed
  2. Captures email and/or phone from the form data
  3. Fires a Lead event with the captured information
  4. Associates the session with the captured identity
  5. Forwards to destinations (Meta, TikTok, Klaviyo, etc.)

Supported Platforms

Upstack automatically captures signups from the following platforms:
PlatformSupported Forms
KlaviyoPopups, embedded forms, flyouts
PostscriptSMS opt-in popups and forms
AttentiveTwo-tap creative, email capture
OmnisendPopups, signup boxes, wheels
SendlanePopups and embedded forms
RecartOpt-in popups and tools
ListrakEmail and SMS capture forms
JustunoPopups and embedded forms
AliaSignup popups
Octane AIQuiz lead capture
Loop SubscriptionsSubscription management events

Events Fired

When a visitor interacts with a supported form, the following events may fire:
EventWhen It Fires
email_opt_in_form_displayedPopup or form becomes visible to visitor
LeadVisitor submits email and/or phone
email_opt_in_form_submittedSame as Lead — fired alongside for compatibility
email_opt_in_form_declinedVisitor dismisses the form without submitting
All events include captured email/phone for identity resolution when available.

Platform Details

Recart

Upstack automatically captures leads from Recart opt-in tools. Events Captured:
  • recart:optin-tool:email-captured
  • recart:optin-tool:phone-number-captured
Data Captured:
  • Email address
  • Phone number
  • Opt-in tool ID
  • Opt-in tool name
Upstack Event Fired: Lead

Listrak

Upstack automatically captures leads from Listrak forms. Events Captured:
  • ltkEmailIdentityEvent
  • ltkPhoneIdentityEvent
Data Captured:
  • Email address
  • Phone number
Upstack Event Fired: Lead

Justuno

Upstack automatically captures leads from Justuno popups and forms. Detection Method: Monitors form field changes for ju_hidden_email and ju_hidden_sms fields. Data Captured:
  • Email address (from ju_hidden_email field)
  • Phone number (from ju_hidden_sms field)
Upstack Event Fired: Lead

Alia

Upstack automatically captures leads from Alia signup popups. Events Captured:
  • alia:signup
Data Captured:
  • Email address
  • Phone number
  • Popup ID
Upstack Event Fired: Lead

Octane AI Quiz

Upstack automatically tracks quiz interactions from Octane AI, including question responses, quiz completion, and lead capture. Events Captured:
Octane EventUpstack Event
octane.quiz.questionAnsweredquiz_question_answered
octane.quiz.completedquiz_completed + Lead (if email/phone captured)
octane.quiz.accessedview_quiz_results
Data Captured:
  • Quiz answer details
  • Email address (from lead capture step)
  • Phone number (from lead capture step)
  • Quiz completion status
The Lead event fires automatically when email or phone is captured during quiz completion.

Loop Subscriptions

Upstack tracks subscription management events from Loop Subscriptions, enabling attribution for subscription-related cart actions. Events Captured:
Loop EventUpstack Event
loopAddAsOneTimeadd_to_cart
loopAddAsSubscriptionadd_to_cart
loopBundleAddAsOneTimeadd_to_cart
loopBundleAddAsSubscriptionadd_to_cart
loopItemAddToBundleSuccessEventadd_to_cart
loopByobAddToCartSuccessEventadd_to_cart
loopPresetAddToCartSuccessEventadd_to_cart
loopRemoveForOneTimeproduct_removed_from_cart
loopRemoveFromSubscriptionproduct_removed_from_cart
loopBundleRemoveForOneTimeproduct_removed_from_cart
loopBundleRemoveFromSubscriptionproduct_removed_from_cart
Data Captured:
  • Product ID
  • Variant ID
  • Product title
  • Price
  • Quantity
Loop also fires additional subscription management events (pause, resume, cancel, etc.) that are tracked for analytics but not mapped to standard e-commerce events.

What Destinations Receive

When a form submission is detected, Upstack automatically forwards the event to your connected destinations:
// Destination wire format (what Meta CAPI receives)
{
  "event_name": "Lead",
  "event_time": "2026-02-18T14:39:00.000Z",
  "event_source_url": "https://example-store.com/",
  "user_data": {
    "em": "a1b2c3d4e5f6...hashed",
    "ph": "f6e5d4c3b2a1...hashed",
    "client_ip_address": "203.0.113.42",
    "client_user_agent": "Mozilla/5.0..."
  },
  "custom_data": {
    "content_name": "Newsletter Signup"
  }
}
You don’t need to write any code for form capture integrations — Upstack detects and processes these automatically.

Destination Forwarding

Form submissions are automatically forwarded to your enabled destinations:
DestinationEvent ReceivedLead Data
Meta CAPILeadEmail (hashed), phone (hashed)
TikTok Events APISubmitFormEmail (hashed), phone (hashed)
Google Adsgenerate_leadEnhanced conversions data
KlaviyoProfile created/updatedFull PII
AttentiveSubscriber createdPhone, email
Lead events are valuable for building audiences and measuring top-of-funnel performance, even if you don’t optimize directly for leads.

Identity Resolution

When a form is submitted:
  1. Email is captured and used as primary identifier
  2. Phone is captured if provided (E.164 format)
  3. Session is associated with the captured identity
  4. Cross-device matching becomes possible for repeat visitors
This means when a visitor who previously submitted a form returns to your site, Upstack can recognize them and attribute their behavior to the original touchpoint — even if they’re on a different device.
Identity resolution works across all form capture integrations and connects with data from checkout identity capture.

Troubleshooting

Verify both apps are installed:
  1. Confirm Upstack is installed and active (check for events in the dashboard)
  2. Confirm the third-party tool (Klaviyo, Postscript, etc.) is installed on your storefront
  3. Test by submitting a form and checking the Live Event Stream in your Upstack dashboard
Check browser console:Open browser DevTools (F12) and look for JavaScript errors that might prevent form detection.Contact support:If the form is from a supported platform but not tracking, contact support with the form URL for investigation.
Verify data format:
  • Email must be a valid email format
  • Phone should be in E.164 format (e.g., +14155551234)
Check consent settings:If the visitor hasn’t granted analytics consent, identity resolution may be limited.Allow time for resolution:Identity stitching happens asynchronously. Check back in a few minutes if the identity doesn’t appear immediately.
Check destination configuration:
  1. Go to Integrations → Destinations in your Upstack dashboard
  2. Verify the destination is connected and active
  3. Check that Lead events are enabled for that destination
Review event mapping:Some destinations may map Lead events to different event names. Check the destination-specific documentation for details.

Standard Events

Full reference for Lead and other standard events.

Shopify Automatic Tracking

How checkout and storefront events are captured.

Identity Resolution

How Upstack connects visitor sessions across devices.

Meta CAPI

Configure Lead event forwarding to Meta.