I am building an abandon form email program. I want to have different emails sent based on when someone abandoned the form. I'm not sure of the best practice for this. We have the munchkin script in our website, but since I could already have certain information from them prior to them filling out the form I somehow need tags or something submitted on how far they got.
Liz, underlying this goal is what we on the tech side call a "Dead man's switch" problem.
To quote myself from another Nation thread:
Dead man's switch refers to the impossibility of determining that a person or device has stopped doing something if you don't have some kind of external observer. When that "something" is "filling out fields," it should make sense that the same device that stopped can't always tell you that it stopped, depending on how gracefully it stopped (close browser, crash browser, navigate away from the page, etc). Think about the difference between a train engineer radioing "I'm about to pass out" and simply passing out, which is what the original Dead man's switch technology was for.
With a Marketo form, in order to track each field as it gets filled out, you can wire up a synthetic Munchkin function (Munchkin.munchkinFunction("visitWebPage");) to fire when a field changes. But I'd be very cautious about the overhead this will cause on your instance. Consider limiting the "interesting" fields to only a few that you want to know if someone started filling out. Marketo, at the present time, isn't equipped for the massive increase in traffic you'd get by sending an update for every field. (It's equivalent to every page view being multiplied by N additional Munchkin hits.)
I was thinking more along the lines of when someone hits the page an interesting moment is submitted with a note on the last field to be updated/to have an entry. That isn't looking for what "wasn't done" and shouldn't be much more data than what is currently captured (I'd guess). I do have 3 specific fields on two main forms that specifically interest me. I'm just not clear if the munchkin script can capture that somehow?
I have seen some people use a multi-part form.
Page 1 - Form 1. On submit = redirect to page 2.
Page 2 - Form 2. On submit = redirect to page 3.
Page 3 - Form 3. On submit = "Form" completed.
The idea is a smart list says "you have completed form 1, visited page 2, but not filled out form 2... therefore send reminder email with a CTA back to page 2".
Do I like this approach? I don't know. It works, I guess.
I was thinking more along the lines of when someone hits the page an interesting moment is submitted with a note on the last field to be updated/to have an entry.
You don't know the last field "when someone hits the page." You know the last field when someone leaves the page. That's why I was explaining the Dead man's switch concept.
If you have 4 fields and I fill out fields 1, 2, and 3 (but not 4, and assuming I filled out the fields in form order) then close down my browser completely, the only time you can say "Last field filled in was #3" is right after the change to the form field. If I fill out 1, 2, 3 and then navigate to a new page, you have slightly more leeway because you can also catch the exit attempt (onBeforeUnload) but this won't work in all browsers.
I'm just not clear if the munchkin script can capture that somehow?
Munchkin captures events, not non-events.
As I mentioned above, you would need to deliberately fire an additional Munchkin "visitWebPage" event when a field changes.
Or, as Nicho suggests, have the form actually be a series of forms, which is submitting a subset of fields each time.
The event would be an entry into a field and I can limit which fields. Would in be so much data to register each time a field is updated? Maybe I need to involve Google Tag Manager somehow? Nicholas Manojlovic Unfortunately I don't have the option at this time to change the form otherwise that does sound more possible.
The event would be an entry into a field and I can limit which fields.
As I said, you need to deliberately fire a Munchkin event when a field changes.
Field change events aren't natively observed by Munchkin.
Would in be so much data to register each time a field is updated?
It would be N times the usual Munchkin traffic for a given page, where N is the number of fields filled out. Normally a page fires one visitWebPage, you'd be firing multiple additional times. It's not that it would necessarily be overwhelming for a small instance, but it'll be noticeable if you have already-high traffic. If you usually get 10,000 daily hits on your form pages, you'll be getting 50,000.
Maybe I need to involve Google Tag Manager somehow?
Google has higher capacity than Munchkin, to be sure, but that doesn't help you "have different emails sent based on when someone abandoned the form." It's assumed that you want this data in Marketo.