TackQuote for WooCommerce adds request-a-quote buttons to your products, so B2B and wholesale shoppers can ask for a price instead of checking out — and optionally syncs orders one-way to your TackQuote account.
Learn more about the WooCommerce integration · Create a free TackQuote account
Setup is one field: paste your TackQuote API key. You can create an account here.
tackquote) and never block checkout.Source code is developed in the open at github.com/ackm04/tack-ecommerce-extensions.
This plugin connects to the TackQuote API, a third-party B2B quoting service operated by
TackQuote, to send quote requests that shoppers submit on your store and — only if you
switch it on — to send data about orders placed in your store.
The service is required for the plugin to work. Without a TackQuote account and API key the
plugin cannot create quotes, and its storefront buttons do nothing. Nothing is sent anywhere
until you enter an API key.
All requests go to the API base URL set under TackQuote TackQuote API URL, which is
https://api.tackquote.com/v1 unless your TackQuote support contact gave you a different
one. Every request carries your TackQuote API key so the service can identify your account.
Connection test — GET /integrations/woocommerce/ping, falling back to GET /health.
Sent when an administrator clicks “Test TackQuote connection” on the plugin settings screen.
Sends your API key only: no store, order or customer data.
Quote form field policy — GET /integrations/woocommerce/registration-config.
Sent when a storefront page showing a quote button is viewed and the cached policy has
expired (cached for 15 minutes). Sends your API key only: no store, order or customer data.
Quote request — POST /integrations/woocommerce/quote-requests.
Sent when a shopper submits the quote form on your storefront. Sends what that shopper typed
into the form, plus the products being quoted: email address, first and last name, phone
number if given, company name and any company details the seller’s registration policy
requires (legal name, tax/VAT ID, registration number, website, address, city, state, postal
code, country, company phone, industry, employee count), the free-text note if written, and
for each requested product its name, SKU, quantity, unit price excluding tax and WooCommerce
product ID, together with the store’s currency code.
Order sync — POST /integrations/woocommerce/order-sync. Off by default.
Sent when an order is created and each time its status changes, but only if the merchant has
switched on “Sync orders to TackQuote”. Sends the whole order: the customer’s billing and
shipping addresses, email address and phone numbers, WooCommerce customer ID, their order
note, the order ID, number and status, currency and totals, coupon codes, timestamps, the
payment method ID and title, the payment gateway’s transaction ID, and every line item with
its name, SKU, product and variation IDs, quantities, totals, taxes and item meta. No card
numbers, no card details and no gateway credentials are ever sent. The Privacy section
below lists every field individually.
This plugin sends data to no other external service.
The TackQuote service is provided by TackQuote. By using this plugin you agree to their
terms. Please review them before entering an API key:
This plugin sends data to TackQuote, a third-party service, over HTTPS. It sends nothing anywhere else, and it never sends payment card data.
To the TackQuote API base URL configured under TackQuote TackQuote API URL — https://api.tackquote.com/v1 unless your TackQuote support contact gave you another one. Endpoints used:
GET /integrations/woocommerce/ping (and GET /health) — connection test. Sends no store or customer data.GET /integrations/woocommerce/registration-config — fetches which fields the quote form should ask for. Sends no store or customer data.POST /integrations/woocommerce/quote-requests — a shopper’s quote request.POST /integrations/woocommerce/order-sync — order sync. Only when the merchant has switched order sync on. It is off by default.Sent when a shopper submits the quote form, using only what they typed into it:
Sent for each order when it is created and when its status changes, if the merchant
has enabled Sync orders to TackQuote. This is the whole order, because a quote
that becomes an order is only useful to the seller if it carries who is buying and
where it is going. Read this list before switching order sync on.
The customer’s identity and addresses
0 for a guest orderThe order
tack_quotes_order_po_number filter — WooCommerce core has no purchase-order field, so nothing is sent unless you wire one upPayment
stripe / “Credit Card”)No card numbers, no card details, and no gateway credentials are ever sent. The
transaction ID is a reference the gateway issued, not an instrument.
Line items
Order sync sends personal data about your customers to TackQuote, which makes
TackQuote a processor acting on your instructions. That is why it ships switched
off and why enabling it is a deliberate act rather than a default. Before you
enable it, satisfy yourself that you have a lawful basis and, where required, a data
processing agreement in place with TackQuote. Your own privacy policy should name
TackQuote as a recipient; the plugin adds suggested wording to
Settings Privacy for you to review and adapt.
tack_quotes_registration_config — a transient caching the quote-form field policy for 15 minutes.tack_qr_* — short-lived transients counting quote requests per visitor for rate limiting. They hold a salted hash of the visitor’s IP address, never the address itself, and expire after 5 minutes._tack_quotes_sync_key — order meta recording which order state was last accepted by TackQuote, so the same state is not sent twice.Deleting the plugin removes every option above and the tack_quotes_registration_config transient, on every site of a multisite network. The tack_qr_* rate-limit counters are left to expire on their own (they last five minutes and are keyed on a hash, so there is no name to delete). The _tack_quotes_sync_key order meta is deliberately left in place: orders are financial records and an uninstall routine should not rewrite every one of them.
The plugin adds suggested wording to Settings Privacy Policy guide in WordPress, listing the same fields. Edit it to match how your store actually uses the plugin.