Has anyone experienced this? We're doing form testing and are finding that once our testers submit a bunch of forms to Marketo, even from different urls, even after clearing caches, are getting blocked from submitting to Marketo. Once we give the url to a new tester, the form submits fine. And after 24 hours or so, we're finding that the old tester can submit a set of forms again for a little while, until they get blocked again.
Looking for any thoughts or whether anyone else has seen this. I know they are implementing bot stuff in the next release, but haven't yet....
We're using a custom LP domain (not Marketo landing page domains) and Marketo Forms 2.0 JS API.
When we test form embeds without methods (methods are addHiddenFields, onValidate, onSuccess), we don't have a repeat submission issue. But when we had the methods, we immediately see the repeat issue.
What is the precise kind of block? A CloudFront error, and which one?
We aren't getting any errors. Our thank you page is triggering, and first submissions from the url for a particular user go into Marketo fine, show up in the All People list. Repeat submissions from the same url/user are triggering the thank you page, but are not showing up in All People.
The mere addition of Forms JS API methods on the client side isn't something the server ever knows about — it cannot tell the difference when the form is posted. So sounds more like a bug in your JS.
Developer does not believe it's a bug. Here's our code block (our actual code includes our munchkin ID and domain, but that has been removed for this post). I believe we're using your method for dual post :):
<form id="mktoForm_123" class="mktoForm"></form>
<script src="//example.com/js/forms2/js/forms2.min.js"></script>
<script>
MktoForms2.loadForm("//example.com", "xxx-xxx-xxx", 123, function(form){
// Set manual and PHP var values for hidden common elements
form.addHiddenFields({
"RegistrationSourceType":"RFI 2.0",
"UTM_Date":"4/27/202111:21:53",
"UTM_Source":"Source 2",
"UTM_Medium":"Medium 2",
"UTM_Content":"Content 2",
"UTM_Campaign":"Campaign 2",
"UTM_Term":"Term 2",
"GUID":"78905.34588",
"Institution__c":"APU",
"subId":"76",
"Web_Source__c":"LP",
"returnLPId":"-1",
"retURL":"https://start.apu.apus.edu/rfi-thanks/37qv?cv=1",
"returnURL":"https://start.apu.apus.edu/rfi-thanks/37qv?cv=1",
"_mkt_disp":"return",
"_mkt_trk":""
});
//listen for the validate event
form.onValidate(function() {
// Get the values
var vals = form.vals();
if (vals.Degree_Level_Program__c == "default" || vals.Program_of_Interest__c == "none") {
// Prevent form submission
form.submittable(false);
form.showErrorMessage("You must choose a degree level and program.");
}
else {
// Enable submission for those who met the criteria
form.submittable(true);
}
});
form.onSuccess(function(vals) {
console.log(vals);
var vals = form.vals();
// custom redirect using retURL hidden field value
location.href = vals.retURL;
return false;
});
});
</script>
OK, there's a ton more forms-related code to debug there, but I would focus on making sure your code never submits the Marketo form when a dropdown does not have a selection.
For example, this form will pass your visible validity checks, even though Program of Interest is unselected:
But when you pass that form to the HTML-to-Marketo relay, you'll get a fatal error under the hood, since there's no selected index:
I believe we're using your method for dual post :):
Dual post?
Developer informed me I keep calling it dual post incorrectly, haha. It's two forms, HTML form to Marketo form.