Attach a Contactum form directly to a WooCommerce product, so shoppers must fill it out before adding the product to their cart — perfect for customizable products, booking-style purchases, or any product that needs extra details collected up front. You can also let form fields change the product’s price using priced option fields. Requires Contactum Pro with the WooCommerce module enabled, and WooCommerce itself active.
This integration works differently from Contactum’s other integrations — there’s no global connection screen or account to authorize. Instead, you attach a form to a product directly on that product’s edit screen.
Requirements #
- WooCommerce, installed and active
- Contactum Pro, with the WooCommerce module active (Contactum → Modules)
- A form built in Contactum, ready to attach to a product
If WooCommerce isn’t active, Contactum shows an admin notice and the rest of this feature stays inactive until it is.
1. Build the Form #
Build your form as normal in the Contactum form builder. If you want any of the form’s fields to affect the product’s price (for example, a paid add-on or a quantity-based option), add a Single Product or Multiple Product field to the form — each option on those fields has its own price. Every other field type on the form (text, checkboxes, etc.) is captured as data only and doesn’t affect price.
2. Attach the Form to a Product #
- Edit the WooCommerce product you want to attach the form to.
- In the Product Data panel, open the new Contactum Form tab.
- Choose your form from the Contactum Form dropdown.
- Update/publish the product.
The same form can be reused across multiple products if you like — the connection lives on the product, not the form.
3. What Shoppers See #
On the product page, the attached form’s fields are shown directly above the Add to Cart button, and the button’s label automatically changes to “Select options”. The shopper must fill in every required field before the product can be added to the cart — an incomplete required field shows an inline error and blocks adding to cart, the same as Contactum’s normal form validation.
4. How It Works #
When a shopper adds the product to their cart:
- Contactum validates the form’s required fields and creates a real Contactum entry for the submission — exactly like a normal form submission. This means every other integration/module you have set up (Mailchimp, notifications, Twilio, Zapier, etc.) also runs for this submission, just as if the visitor had submitted the form on its own.
- If the form includes a Single/Multiple Product field, the selected option’s price is added to the product’s base price for that cart item.
- Each submission always creates its own separate cart line, even for the same product — adding the same product twice with different form answers will never merge into a single cart line, since each one represents different configured details.
- The submitted field values are shown under the cart item (in the cart and at checkout), and are copied onto the resulting order line item once checkout completes, so you can see exactly what the customer specified from the WooCommerce order screen.
- After the order is placed, Contactum also links the order back to the original entry, so you can find the full submission from Contactum’s Entries screen too.
Troubleshooting #
The form isn’t showing on the product page #
- Confirm WooCommerce is active and the product’s Contactum Form dropdown has a form selected.
- Confirm the selected form still exists and hasn’t been deleted.
“Your session has expired, please refresh the page and try again” #
- This happens if the add-to-cart request is stale (e.g. the page was open a long time, or was cached). Refresh the product page and try again.
Adding the same product twice always creates separate cart lines #
- This is expected behavior — Contactum deliberately doesn’t merge cart items for a product with an attached form, since each submission can carry different details/options.
Selecting an option didn’t change the price #
- Only Single Product and Multiple Product field types affect price. Confirm the form actually includes one of those field types, and that it has prices configured on its options.
Notes #
- Requires Contactum Pro with the WooCommerce module active — not available in the free plugin. Also requires WooCommerce itself.
- No credentials or global settings — everything is configured per product.
- Every product-triggered submission is a real Contactum entry — it appears in Entries and triggers your other configured integrations and notifications normally.
- You can attach any existing form to a product, but only forms with a Single/Multiple Product field will actually affect the price — pick or build a form intentionally for this purpose.