Auto Insurance Marketplace
Auto Insurance Embed: Implementation, Syntax, Demo, Tags, and Best Practices
This page outlines what's needed to integrate Engine's Auto Insurance Embed into your website. In this guide, we will explore what Engine’s Embed syntax looks like and best practices for loading it on your site. This includes topics like proactively addressing layout shift for optimized performance.
This is a high-level guide, and specific implementation details should be discussed with your Engine team.
Standard Embed Implementation
Engine's embed code can be placed in any order within your page, but for optimal user experience we recommend placing the script tag within the same div where the content is being rendered.
Basic Embed Syntax
<script
async
src="https://www.moneylion.com/network/{channel}/{zone}/web-component/auto-insurnace-listing/index.js"
data-embed-type="auto-mount"
></script>This is a representative example of what our embed code looks like, and contains placeholders as defined below. Placeholders and will be replaced with precise values in the embed code provided to you.
Embed Components
Channel & Zone: placeholders that will be replaced with precise values in the embed code provided to you by your Engine representative.
HTML Attributes: optional
data-*attributes on the script tag that configure embed behavior and are passed to the mounted component at runtime.data-embed-type: required on the script tag; set to
auto-mountso the widget is automatically inserted beside the script when the bundle loads.data-query: Enables data prefill functionality and defintes what field should be prepopulated (see Prepopulating User Data below).
Auto Insurance Embed Experience
Engine's auto insurance embed drops a short-form marketplace widget into your page so customers can compare carrier offers without leaving your site. Engine handles carrier connectivity, geo/state eligibility, lead routing, and monetization behind the scenes.
Results Page User Experience
After a customer completes the short-form search, they see a personalized results view with ranked offer cards, savings messaging, and profile controls (zip, age, vehicles, current provider, homeowner status, and more). Customers can refine their profile and click through to carrier quotes without restarting the funnel.

Embed Full Funnel Demo
Opens the standalone auto insurance funnel in a new tab so you can preview the full intake-to-results journey end to end. Use it to validate UX, copy, and carrier presentation alongside your embedded short-form widget.
Client Tags & Prepopulating User Data
Engine's Auto Insurance Marketplace embed supports appending client tags for channel partner reporting. This marketplace works slightly differently than other Engine embeds when it comes to pre-population of customer data. This is because Auto Insurance has its own prefill schema layered on top of our embeds.
Including these tags is completely optional, but enables functionality that has significant downstream benefits. From an implementation perspective for each use case:
Pre-populating Customer Data for certain non-PII fields
data-query: Decreases friction in the user experience and increases application submission rates
Channel Partner Reporting
data-tags: enables more robust reporting
How to Implement Tags & Customer Data Prefill
To add client tags in an embed, use the following syntax in the data-tags attribute within the embed script:
To pre-populate fields in an embed, use the following syntax in the data-query attribute within the embed script:
Sample Implementation
In the above example, "clientId" and "source" are available as tags for reporting purposes and "providedCreditRating" and "zipcode" will be prepopulated in the embed user interface.
Supported Client Tag Keys
Client tag keys are matched exactly, including case. For example - subid and subId are stored as separate tags and will appear as separate keys in your reporting.
Please send each key with consistent casing across all requests, and use the exact spelling shown above.
Below are the client tag keys that are currently supported:
agentId
campaignId
clickId
clientId
deviceId
medium
sourceId
subId
subId1
subId2
subId3
target
trafficsource
userId
If a different key is needed, please reach out to your Partner Manager - we may be able to accommodate, but adding nonstandard keys will increase the time it takes Engine to report Client Tag values back to you and is therefore not recommended.
Supported Tag Keys for Prefill
Engine's Auto Insurance marketplace accepts the following parameters and values for customer data pre-population purposes:
Date of Birth
app.dateOfBirth
Date string of the format YYYY-MM-DD
Zip Code
app.zipcode
US 5-digit numeric ZIP code, e.g. 10001. No leading/trailing whitespace
Credit Rating
app.providedCreditRating
excellent
good
fair
poor
limited
unknown
Number of Vehicles
app.numberOfVehicles
Integer between 1 and 5
Current Issuer
app.currentIssuer
String issuer name matching the enum values from Engine's API Reference for the Schema AutoInsuranceIssuer
Age Range (legacy)
app.ageRange
AGE_RANGE_18_20
AGE_RANGE_21_24
AGE_RANGE_25_34
AGE_RANGE_35_44
AGE_RANGE_45_54
AGE_RANGE_55_64
AGE_RANGE_65_PLUS
Only insert these values if they are applicable, and set them to true
Military Status
app.is_military
true
Home Owner Status
app.is_home_owner
true
Multiple Vehicle Status (legacy)
app.has_multiple_vehicles
true
Insured Status (legacy)
app.is_currently_insured
true
Embed Best Practices & Troubleshooting
Best practices
Use the snippet Engine gives you. Don't hardcode channel, zone, or component paths yourself.
Keep
asyncon the script tag. This prevents the embed script from blocking the rest of your page.Give the embed a real container. Set a width on the parent. Set a
min-heightwhen possible. This gives the iframe room to render and avoids large layout shifts.Allow Engine in your CSP. Your Content Security Policy must allow the Engine script in
script-srcandhttps://www.moneylion.com(or your Engine environment host) inframe-src.Follow this page's tags and prefill guidance. Attributes differ by product. Use this page's sample, or your Engine-provided snippet, rather than copying syntax from another embed.
Troubleshooting
The component doesn't show
Check your install mode:
Explicit custom element: Confirm the
moneylion-*element from your snippet is on the page.
Open the browser console. Check for script load failures or CSP blocks.
The page feels slow
Confirm the
asyncattribute is on the<script>tag.Avoid nesting the embed in a hidden container, such as
display: none, at first load. This can delay useful height and layout work.
Events aren't firing
Confirm you listen for
messageevents. Check for{ name, payload }objects. See the tracking section on this page for product-specific events.In production, filter by Engine's origin. This ignores unrelated
postMessagetraffic from other page scripts.
Last updated
Was this helpful?

