Ignore a specific non-Hubspot form from being collected

SOLVE
Highlighted
Regular Contributor

Hey there!

 

Is there an option to keep the "Collect data from website forms" option enabled, but to somehow mark a few forms to be skipped by the Hubspot form tracking JS code?

I vaguely recall there was some markup feature, but, for the life of me, I can't find any evidence to that.

3 Accepted solutions

Accepted Solutions
Highlighted
Solution
Regular Contributor

Well, while we're at it and I don't have a blog to post it to, there is a way to exclude a specific form from being collected.

 

What you need to do is add the following code to it:

<label for="amex" style="display:none">AMEX</label>
<input type="hidden" name="amex" required="" value="" id="amex">

HS JS tracking code will deem your form as one that contains sensitive data and will ignore it. 

View solution in original post

Highlighted
Solution
Regular Contributor

I've gone and looked at the source for collected-forms.js

They check for the following labels:

, s = ["credit card", "card number", "expiration", "expiry", "ccv", "cvc", "cvv", "secure code", "mastercard", "american express", "amex"]

and the following for names:
, c = ["cc-num", "cc-number"]

 

in a function called isSensitive which is used in a function called rejectIfAnyFieldSensitive

 

So I've managed to get the form to not submit with the following markup:

 

    <label for="cc-num" class="hidden">credit card HubspotCollectedFormsWorkaround https://community.hubspot.com/t5/APIs-Integrations/How-to-stop-collected-forms-from-collecting-a-form/m-p/299172#M28102</label>
    <input name="cc-num" class="hidden" required="" value="HubspotCollectedFormsWorkaround" id="cc-num">

Would be great if this could be added to the documentation 

 

View solution in original post

Highlighted
Solution
Visitor

I noticed that when you specify in HubSpot to collect info from non-HubSpot forms, it attempts to add the script collectedforms.js to your website. However, before doing so, it checks to see if it's already installed by using the document.getElementById method where the ID is CollectedForms-1234 (1234 is the ID at the end of your tracking script). Therefore, if you simply put any HTML element on your page with that ID, such as

<span id="CollectedForms-1234"></span>, it won't install the collectedforms.js file, meaning it also won't collect information on your non-HubSpot forms. While still a hack, it doesn't force you to change your forms, and it's much easier to conditionally add it based on where the user is in your app. Just be sure that this element exists statically on your website, and isn't loaded dynamically.

View solution in original post

17 Replies 17
Highlighted
Community Manager

Hi @balabanov ,

 

Because non-HubSpot forms requires HubSpot to crawl for all of the forms on your site there is no way to turn it off for certain pages or forms. 

 

For more information, I wanted to share these resources: 

1. Using non-hubspot form

2. non-hubspot forms FAQ

 

Thanks,
Jenny


We are excited to announce that the Community will be launching a weekly newsletter on November 2, 2020!
Sign up today!
0 Upvotes
Highlighted
Solution
Regular Contributor

Well, while we're at it and I don't have a blog to post it to, there is a way to exclude a specific form from being collected.

 

What you need to do is add the following code to it:

<label for="amex" style="display:none">AMEX</label>
<input type="hidden" name="amex" required="" value="" id="amex">

HS JS tracking code will deem your form as one that contains sensitive data and will ignore it. 

View solution in original post

Highlighted
Regular Contributor

Hi @balabanov 

 

Does this technique still work for you? It doesnt seem to work for me.

 

I've also noticed that since August 2019, Hubspot collected forms is now collecting dynamically creating forms in contravention of their documenation here: https://knowledge.hubspot.com/forms/use-non-hubspot-forms

0 Upvotes
Highlighted
Regular Contributor

This workaround from @balabanov didn;t work for me but I managed to get a variation of it working for me

 

.hidden {
  display: none;
}

<label for="credit-card" class="hidden">HubspotCollectedFormsWorkaround https://community.hubspot.com/t5/APIs-Integrations/How-to-stop-collected-forms-from-collecting-a-form/m-p/299172#M28102</label>
   
<input name="credit-card" class="hidden" required="" value="HubspotCollectedFormsWorkaround" id="credit-card">
0 Upvotes
Highlighted
Regular Contributor

Actually that doesnt work in our produciton environment.

 

Still unable to block form submission for forms with private info 😞

0 Upvotes
Highlighted
Solution
Regular Contributor

I've gone and looked at the source for collected-forms.js

They check for the following labels:

, s = ["credit card", "card number", "expiration", "expiry", "ccv", "cvc", "cvv", "secure code", "mastercard", "american express", "amex"]

and the following for names:
, c = ["cc-num", "cc-number"]

 

in a function called isSensitive which is used in a function called rejectIfAnyFieldSensitive

 

So I've managed to get the form to not submit with the following markup:

 

    <label for="cc-num" class="hidden">credit card HubspotCollectedFormsWorkaround https://community.hubspot.com/t5/APIs-Integrations/How-to-stop-collected-forms-from-collecting-a-form/m-p/299172#M28102</label>
    <input name="cc-num" class="hidden" required="" value="HubspotCollectedFormsWorkaround" id="cc-num">

Would be great if this could be added to the documentation 

 

View solution in original post

Highlighted
New Contributor

With all due respect and appreciation for the solutions proposed here and the folks who have taken the time to explore them...

 

If I am a software developer integrating Live Chat (and only Live Chat) into my custom application that happens to have at least one <form> on their site – and let's face it, that's pretty much ANY custom web application – and my company also maintains a separate website using HubSpot forms and Live Chat that our web team needs to make things happen, I have no choice but to implement these hacks in my custom application.

 

As a developer I should not have to modify my central forms engine to accommodate these hacks, further tying my implementation to the HubSpot CRM.

 

DO NOT ASSUME I WANT TO SHARE ALL OF MY USER SUBMITTED DATA WITH YOU EVERYWHERE I INTEGRATE YOUR TOOLS.

 

The tracking script should have a configuration *option* that enables the automatic form data collectors. The global setting should simply allow the collectors to run, if opted in to by the person who places the script in their code/site.

 

In summary:

 

Opt In = YAY!

Opt Out + Insufficent Hacks = BOO!

 

This seems extremely easy to do, HubSpot...can we please make this happen?

 

Thank you very much in advance.

Highlighted
Occasional Contributor

is still no option to ignore some forms from the site?

Highlighted
Regular Contributor

Hi @jennysowyrda ,

 

Saying that hubspot has to crawl for all forms on a site, so there is no way to turn it off for certain pages or forms doesnt make any sense.

 

They could easily exclude forms that have a particular data attribute or class on the form.

It doesnt make any sense for Hubspt to crawl all the forms and not have a way to mark some as private. This is resulting in a violation of GDPR as forms containing private information are being submitted

Highlighted
Community Manager

Hi @ianpetzer,

 

Thank you for reaching out. It will be your responsibility to ensure your forms comply with the law. I would recommend partnering with your legal team to ensure your forms are GDPR compliant. Additionally, HubSpot does not accept sensitive information through our forms. Please ensure that all form fields are compliant with our terms of use.

 

Thank you,
Jenny


We are excited to announce that the Community will be launching a weekly newsletter on November 2, 2020!
Sign up today!
0 Upvotes
Highlighted
Regular Contributor

Hi @jennysowyrda ,

 

0ur forms are GDPR compliant. The problem is this: 

 

1) A site include Hubspot collected-forms.js which causes all forms to be collected

2) On 01/29 you sadi that you cannot specify which forms to be collected, and I quote: "Because non-HubSpot forms requires HubSpot to crawl for all of the forms on your site there is no way to turn it off for certain pages or forms. :

3) This means that Hubspot is collecting sensitive data such as passport information, date of birth and address

4) Based on the workaround suggested by @balabanov , I have read through the source code and posted more information about how you can block the submission of forms by adding a fake input field with a specified name or label

5) It is up to Hubspot to add functionality to block the collection of certain forms or at least add documentaiton on how to block form collection using the workaroudn suggested above.

6) Right now, the collection of forms is blocked by the following labels:  ["credit card", "card number", "expiration", "expiry", "ccv", "cvc", "cvv", "secure code", "mastercard", "american express", "amex"]

7) As you can see this is not an exahaustive list of sensitive information. For example addresses and passport numbers and date of births are not considered sensitive

😎 The current collected-forms.js implementaiton is flawed because it is not documented how to label/name the sensitve form fields to block submission without reading the source code and the list is not comprehensive enough. 

Highlighted
Visitor

Hi @jennysowyrda , 

Our website has clients dashboard login as well, we have implemented the hubspot tracking code on all pages of the website including the one which has the dashboard. We have several non-HubSpot forms in our dashboard that are not created in Hubspot. Now everytime a client fills one of those firms, Hubspot is capturing it and also sending an email for the same. How can we stop data getting collected from these forms automatically? 

0 Upvotes
Highlighted
Regular Contributor

@parinsanghvi I posted a workaround higher up in this thread. https://community.hubspot.com/t5/Lead-Capture-Tools/Ignore-a-specific-non-Hubspot-form-from-being-co...

 

Simply include the hidden label and inout field into your form and Hubspot will ignore it.

Highlighted
Occasional Contributor

Would love to know if this is on the radar for being worked on. 

Highlighted
Solution
Visitor

I noticed that when you specify in HubSpot to collect info from non-HubSpot forms, it attempts to add the script collectedforms.js to your website. However, before doing so, it checks to see if it's already installed by using the document.getElementById method where the ID is CollectedForms-1234 (1234 is the ID at the end of your tracking script). Therefore, if you simply put any HTML element on your page with that ID, such as

<span id="CollectedForms-1234"></span>, it won't install the collectedforms.js file, meaning it also won't collect information on your non-HubSpot forms. While still a hack, it doesn't force you to change your forms, and it's much easier to conditionally add it based on where the user is in your app. Just be sure that this element exists statically on your website, and isn't loaded dynamically.

View solution in original post

Highlighted
New Contributor

For those who want to do disable forms from being collected on specific Wordpress pages, the following code written in functions.php does the trick:

 

 

 

 

add_action( 'wp_footer', 'custom_wp_dequeue_script', 11 );
function custom_wp_dequeue_script() {
  if ( is_page('Page title') ) {
    wp_dequeue_script( 'leadin-script-loader-js' );
  }
}

 

 

 

 

Highlighted
Community Manager

Hello @Daniesy 

 

Thank you for sharing this solution!

 

Kindly,

Pam


We are excited to announce that the Community will be launching a weekly newsletter on November 2, 2020!
Sign up today!