Like Joey said, the best way to set this up is to us the Added to List trigger.
Best practice would be that each marketing program would have a single list, then if you wanted to split leads from different versions of a landing page you can use a filter for the page variant , OR use the page variant as a conditional statement in the flow.
Using the Page ID as a filter
Using the Page Variant as a conditional statement in the flow:
We’ve actually gotten a lot of power from embedding marketo forms into the unbounce pages as they let you do lots of fancy form things like conditional visibility (show certain fields depending on answers) or hide the form if the visitor is already known. This restricted by the normal marketo restrictions on embedded forms however (no pre-fill, you need to set acquisition program manually in the flow) so you should do the research if you want to embed the forms.
Hope this helps!