## TL;DR

Every form page load submits the form again, creating duplicate contacts. Debounce the submit, disable the button after click, and dedupe on email server-side.

## Error

```text
form submission created duplicate contacts on every page reload
```

## Steps

1. Reproduce: submit once, reload, check for duplicates Expected: you confirm the double submit.
2. Disable the submit button after the first click Expected: no double clicks.
3. Dedupe on email in the form handler Expected: reloads do not create.
4. Clean up the existing duplicates Expected: the data is fixed.

## When to use

- Form creates duplicates on reload
- The form resubmits

## When not to use

- Duplicates come from elsewhere (then check the sync)
- The form is fine (then check the handler)

## Tool compatibility

- HubSpot forms
- Lead capture

## Variant phrasings

### form duplicate contacts reload

Debounce the submit and dedupe on email.

### hubspot form duplicates

Same: the form resubmits on reload.

## Why it happens

Browser reload re-POSTs the form. Agents building the handler never consider the reload case.

## Edge cases

- Redirect after POST (PRG pattern) prevents reload resubmits
- HubSpot's own dedup may not catch rapid duplicates

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_8nOzX-ZKgLSCJWxRZsNW3Q
