New Marketplaces
New Marketplace Embed: Implementation, Syntax, Demo, Tags, and Best Practices
This guide covers integrating Engine's New Marketplaces Embed into your website. Also called the "generic offers" embed, it supports smaller product subverticals, including Credit Builders, Earned Wage Access, and Debt Relief.
Review the embed syntax and loading best practices. Address layout shift to optimize performance. Discuss specific implementation details with your Engine team.
This is a high-level guide, and specific implementation details should be discussed with your Engine team.
Standard Embed Implementation
New Marketplaces Specific Syntax
Component Name
generic-offers: universal offers tile embed: it renders one or more cards from Engine’s Offer Catalog (any supported product type) using UUID + product type, and handles real-time availability, monetization rules, and fallback UX for you
New Marketplaces Embed Demo
Credit Builder Embed Demo Link: https://www.moneylion.com/network/cnbc-ml/credit-builders/iframe

Client Tags for Attribution
Engine Embeds support the ability to add certain tags with varying use cases, which are outlined in this section.
How to Implement Client Tags
To add client tags in an embed, use the following syntax in the data-tags attribute within the embed script:
Sample Implementation
In the above example, clientId and source are available as tags for reporting purposes.
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.
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.Auto-mount snippet: Confirm data-embed-type="auto-mount" is on the tag.
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?

