5 Replies Latest reply on Jan 8, 2013 11:26 AM by fb935f500be5e5d515c123b94a418b4f5f3430da

    Spam filter outside Marketo LP

      The help article below outlines Marketo spam filter in LPs, is there any implementation of this for forms outside of Marketo LPs?

      https://community.marketo.com/MarketoArticle?id=kA050000000KyqZ&src=comm

      Our forms need be included in the pages so simply using an LP would not work for us.  Using iframed LP's of forms in our pages created an overhead to the load time of our pages as well as a duplication error in Google Analytics stating that we were referring ourselves to our site. 
       
      Our main issue is not the submission of blank form fields.  We are getting numerous spam forms 10-15/week typically, but can ramp up to 10 in a night sporadically.  A typical spam form had a company name of “google” and comments that contain paragraphs of nonsense/links. 
       
      I have made multiple efforts to stop this issue which have proved useless.
       
      I have tried to conditionally prevent submission if company name is equal to “google”, but for some reason this still submits.  I remove spaces and lowercase the value before testing against this constraint, but forms continue to submit.  I cannot replicate a scenario where this is possible on the front end so I am not sure how to fix this problem.  If this ticket has been closed due to lack of time, I apologize for this as I had other pressing issues, but please reopen it.

      Has anyone run into this issue or know of a potential solution?  I have submitted a ticket to support, but figured I would post on here as well to see if the community knows of a solution to this problem.
       
      Thanks for any help you can provide,
      Tom

        • Re: Spam filter outside Marketo LP
          We display Marketo forms on our website pages that are managed via Drupal.  We do this by placing the Marketo form on a blank landing page and then use the HTML iframe staement to display the Marketo LP/Form.  We get the benefit of Marketo's built in anti-spam filtering and the form is displayed on a non-Marketo page.
          • Re: Spam filter outside Marketo LP
            I appreciate the prompt response, but I don’t think you understand my question.  I am looking for a solution outside on an LP, not an iframed LP – even if the LP is blank.  Please refer to this community page as I think this will more clearly explain my set up. 

            https://community.marketo.com/MarketoArticle?id=kA050000000Kyqg

            Your solution will not work in our case as it is an iframe and it is on an LP.

            As previously stated we want our forms outside of Marketo LPs - an iframed LP is still an LP it’s just framed in your page.  Also as stipulated - we do not want to use iframes as this creates Google Analytics reporting issues including but not limited to incorrect conversion counts, and incorrect referral traffic sourcing.  This solution forces Google Analytics to list your own website as a source of referral traffic. 

            Lastly, speed.  We don't want the overhead of calling Marketo to render our pages - by pulling forms out of LPs (throught the above link tutorial) we gained speed and flexibility with the forms ( styling, formatting etc. )

            …unfortunately we also gained spam forms.


            • Re: Spam filter outside Marketo LP
              Tom,

              You mentioned above that your conditional prevention of submissions seemed not to catch "google". Could an approach where you add a triggered campaign to delete those leads automatically work? It might be easier to setup and more apt to catch those offending leads.
              • Re: Spam filter outside Marketo LP
                Have you tried adding a hidden field to your form (e.g. Address 4, or similar that would not contain real data)?  If a bot is filling out your forms, it would add data to this field and you can use that as another indicator of a spam lead that should be deleted.

                Have you implemented the code suggested in the help article "Adding custom validation to a Marketo form before submitting it" to prevent submissions if the company name is "google"?  We use this on our forms to validate that the email address is not a public domain and it works well.

                • Re: Spam filter outside Marketo LP
                  Elliott,

                  I have tried implementing the hidden form field and then overload the submit to not allow if this hidden field is populated.  I had not realized there was a community page related to this topic so thanks for providing that. 

                  I took a similar approach to the code provided in the article originally, just returning false instead of running the submit script.  My js experience is limited so I assumed this was where my mistake was made.

                  Pasting the code from the article did not work, do you know if this works outside of LPs?  It seems like it should, but submissions containing the reserved word still allowed to go through. 

                  After rereading this article and it seems like exactly what I need if I could get it to work outside an LP.  Any ideas how this could be accomplished?  I have included my failed attempt from my original js as I think the linked article required LP.  "Corporate" is a hidden field which is what you were refering to address4 I beleive.  "Company" gest filled in with "google" all lowercase.  When I run this on the front end it appears to work, I cannont create a scenario where it fails.  Yet we still get forms in Marketo backend that have "google" for the company. 

                       <script type="text/javascript">
                       function formSubmit(elt) {
                         var corp = document.getElementById('Corporate').value;
                         var com = document.getElementById('Company').value.toLowerCase();
                         if(com.indexOf("google") >= 0){
                             return false;
                         }
                         else if(corp.length != 0){
                             return false;
                         }
                         else{
                             return Mkto.formSubmit(elt);
                         }
                       }
                       function formReset(elt) {
                         return Mkto.formReset(elt);
                       }
                       </script>