Sign Customiser

Navigation

Dark mode

Use Sign Customiser data for performance marketing

Track design, cart and lead events, use generated products for retargeting, and send campaign data to Meta, Google and email tools on Shopify and WordPress.

Last updated:

A Good Vibes neon sign in the customer customiser, next to its generated product. The product has the sign preview image, the title Custom Sign Good Vibes and the price.

Sign Customiser gives you data about each customer who designs a sign. Use this guide to send that data to your advertising and email tools. The guide is for the person who manages your ads, analytics and email marketing.

The guide has two parts. Do the Shopify part first. Then do the WordPress part if you also sell on WordPress.

Sign Customiser does not add a Meta Pixel, a Google tag or other advertising tags to the customer customiser. You connect your tags to the events in this guide.

1. Know the data that Sign Customiser gives you

Sign Customiser gives you data from four sources.

SourceWhere you get itUse it for
Storefront JavaScript eventsTheme code, Google Tag Manager, a Shopify custom pixelConversion tracking and audiences
Generated productsYour Shopify or WooCommerce product listAbandoned cart email and retargeting
Quotes and form submissionsThe Quotes page, the API and webhooksLead tracking and CRM import
OrdersYour store, the API, webhooks and ZapierPurchase data and customer lists

Storefront JavaScript events

The customer customiser sends these events on the page document:

EventWhen it occursTypical use
signCustomiserProductAddedToCartA sign goes into the Shopify cart.Add-to-cart conversion
signCustomiserCheckoutStartedA customer goes to checkout with Buy it now or the Straight to Checkout cart action.Checkout conversion
signCustomiserFormSubmittedA custom design form submission succeeds.Lead conversion
signCustomiserQuoteSubmittedA quote form submission succeeds.Lead conversion
signCustomiserAiLogoCompletedThe AI Sign Designer completes a design.Engagement signal

The cart and form events include two marketing objects:

  • adClickIds contains the ad click IDs. The keys are gclid, gbraid, wbraid and fbclid.
  • utmParams contains the UTM values. The keys are utm_source, utm_medium, utm_campaign, utm_content, utm_keyword and utm_term.

Sign Customiser reads these values from the page address. It keeps them in the browser for the session. If the page address and the session have no click ID, Sign Customiser can read the gclid from the Google Ads cookie. Each object contains only the keys that Sign Customiser found. The object is null when Sign Customiser found no value.

The events also contain other data:

  • The form and quote events include formId, quoteId and the form answers in data.
  • The cart events include the Shopify cart response. This response contains the product title, which contains the sign text.

These limits apply to Stores on the retired Starter, Standard or Pro plan families, including the yearly versions:

  • An inline Shopify embed sends no cart events. A Shopify iframe embed still sends cart events.
  • No embed sends form or quote events.

These limits apply to all Stores:

  • The AI Sign Designer events reach your theme only when the customer customiser runs inline on the page. An iframe embed keeps them inside the iframe.
  • Sign Customiser does not put the click IDs or UTM values on the cart line or the order.

See the Storefront JavaScript events guide for each event payload.

Generated products

Sign Customiser creates a product each time a customer adds a sign to the cart. This product is a generated product. Sign Customiser does not create a product when a customer only opens the customiser, saves a design or sends a quote request.

Each generated product records one design:

  • Title: the title prefix, then up to 15 characters of the sign text. If the text is longer, ... follows. The default prefix is Custom Neon: for neon signs and Custom Sign: for other signs. The Product Title setting replaces the default prefix.
  • Images: a preview image of the sign and an outline image.
  • Price: the price of the design when the customer added it to the cart.
  • Product type: the sign category, for example Custom Neon, Custom Lightbox or Custom Wooden Sign.
  • Tags: sign-customiser-generated and sc-customiser- followed by the customiser ID. After Sign Customiser records an order for the product, it adds the npc_ordered tag.
  • Description: the full sign text and the selected options.

Many merchants think that generated products are clutter. For a marketer, each generated product is a customer with high purchase intent. The product has a picture of the exact sign that the customer designed. Your abandoned cart email can show that picture to the customer.

A generated product shows that a customer added a sign to the cart. It does not show that a customer only looked at the customiser.

Older products can have no tags. Products that Sign Customiser generated before 3 August 2026 (UTC) do not have the two tags. They all have the product type Custom Neon. Products generated on 3 August 2026 can have some of the tags or none. See Retrieve generated sign products not purchased.

Quotes and form submissions

Sign Customiser saves each quote request and custom design form submission. It saves the UTM values and click IDs with each submission. Get this data in these ways:

  • Open a submission from the Quotes page in Sign Customiser. Download its quote as a PDF. The Quotes page does not show the UTM values or click IDs.
  • Read the List quotes endpoint of the Sign Customiser API. Use an API token with the quotes:read scope. The response includes ad_click_ids and utm_params. Each field is an empty object when no value was found.
  • Subscribe to the Form Submitted (deprecated) webhook. The payload includes ad_click_ids and utm_params. For a new integration, use the quotes API.

The Sign Customiser admin does not export quotes as a CSV file.

Orders

You can get Sign Customiser orders from the API, the Order Created webhook and the New Order trigger in Zapier. The order data does not include UTM values or click IDs. Use your store analytics for order attribution.

The Conversion Rate card on the Sign Customiser dashboard divides orders by products created. It is not the conversion rate of your store visitors.

2. Plan your tracking

Use these conversion events in your ad platforms:

Funnel stageShopify eventSign Customiser eventMeta eventGA4 event
Customiser page viewedproduct_viewedNoneViewContentview_item
AI design completedNonesignCustomiserAiLogoCompletedCustom eventCustom event
Added to cartproduct_added_to_cartsignCustomiserProductAddedToCartAddToCartadd_to_cart
Checkout startedcheckout_startedsignCustomiserCheckoutStartedInitiateCheckoutbegin_checkout
LeadNonesignCustomiserFormSubmitted or signCustomiserQuoteSubmittedLeadgenerate_lead
Purchasecheckout_completedNonePurchasepurchase

Shopify sends product_viewed only when the customiser is on a product page.

Follow these rules:

  • Send each conversion from one source only. If your Meta app already sends AddToCart, do not send it again from the Sign Customiser event.
  • Use the Sign Customiser events for leads, AI designs and click IDs. The Shopify standard events do not include them.
  • Add UTM parameters to each ad and email link. Sign Customiser keeps the values for the browser session.

Do not send personal data to advertising tools. Personal data includes the sign text, form answers, uploaded files and ShareLink URLs. A sign text often contains a name. Do not forward the full event detail. Send only the event name, the campaign values and the click IDs.

3. Shopify: Prepare your generated products

Do these steps before you start retargeting.

Set the product status

Set the default status to Unlisted. An unlisted product does not show in collection pages, search results or product recommendations. Customers can still buy it from the cart. Shopify does not publish an unlisted product to third-party sales channels, such as the Google and Meta channels.

  1. Open Sign Customiser.
  2. Click Tools & Settings.
  3. Click Integrations and Webhooks.
  4. On the Shopify card, click View Details.
  5. Click Edit Integration.
  6. Set Default Product Status to Unlisted.
  7. Click Update.

The setting applies to new products only. See Hide custom sign products from your storefront.

Keep the products for the retargeting period

Do not delete generated products that are not purchased until your retargeting period ends. An abandoned cart email can link to the product. Keep the products for a minimum of 30 days.

To find generated products that are not purchased, search the Shopify Products page for tag:sign-customiser-generated AND NOT tag:npc_ordered. Sign Customiser does not delete products. To delete older products automatically, use a third-party app. See Automatically deleting generated products.

Check your product feeds

By default, Sign Customiser publishes each generated product to the Online Store. If your Store uses Shopify Markets and approved the optional read_markets access, Sign Customiser can also publish the product to the catalogue of the shopper’s market. It does not publish generated products to the Facebook & Instagram channel.

The Google & YouTube app syncs products that are available to the Online Store and to the Google & YouTube channel. Thus, an Active generated product can go into your Google Merchant Center feed. Shopify cannot publish an Unlisted product to third-party sales channels. Set Default Product Status to Unlisted to keep generated products out of your feeds.

For generated products, use the audiences in section 6. See Change the Shopify sales channel for products.

4. Shopify: Send emails to customers who did not buy

Use Shopify Messaging, Klaviyo or a similar tool to send abandoned cart emails. Use Shopify Flow to tag and sort customers. Flow can also send a marketing email with the Send marketing email action from Shopify Messaging. This action sends only to customers who subscribe to email marketing.

Use the Shopify Messaging automations

  1. In Shopify admin, go to Apps, then Messaging.
  2. Click Automations, then Create automation.
  3. Select the Recover abandoned checkout template.
  4. Edit the email text. Ask the customer to complete the order for the sign that they designed.
  5. Turn on the automation.
  6. Do steps 2 to 5 again with the Recover abandoned cart template.

If your store still uses the legacy abandoned checkout email, the change to the new automation is permanent.

By default, these automations send email only to customers who agreed to receive marketing.

Test each automation:

  1. Open your store in a private browser window.
  2. Design a sign and add it to the cart.
  3. At checkout, enter an email address that you control.
  4. Close the window before payment.
  5. Wait for the delay that the automation uses before it sends.
  6. Make sure that the email shows the sign preview and the correct link.

Tag customers with Shopify Flow

Use Flow to tag customers who bought a custom sign. Then remove these customers from your retargeting.

  1. Create a workflow in Shopify Flow.
  2. Select the Order created trigger.
  3. Add a For each loop on the order line items.
  4. Add a condition. Check if the line item product has the tag sign-customiser-generated.
  5. Add the Add customer tags action. Enter a tag, for example bought-custom-sign.
  6. Turn on the workflow.

Use the same steps with the Customer abandons checkout trigger and a tag such as abandoned-custom-sign. Use the Flow editor to make sure that this trigger gives the line items. Test the workflow with a test checkout.

Use these tags in Shopify customer segments. To separate sign types, use the product type in the condition, for example Custom Lightbox.

Use Klaviyo

Klaviyo gets the Shopify Added to Cart and Checkout Started events. These events include the product name and image. Added to Cart contains one product for each event. Use the standard Klaviyo abandoned cart flow. Make sure that the email shows the sign preview.

5. Shopify: Send Sign Customiser events to your tags

Use a custom pixel

A Shopify custom pixel runs in a sandbox. It cannot get the Sign Customiser events directly. Use theme code to publish each event to Shopify. The custom pixel then gets the event.

Add this code to your theme, on the page that shows the customer customiser:

HTML
<script>
function sendSignCustomiserEvent(name, detail) {
if (!window.Shopify || !window.Shopify.analytics) {
return;
}
window.Shopify.analytics.publish(name, {
customiserId: detail.customiserId,
utmParams: detail.utmParams,
adClickIds: detail.adClickIds,
});
}
document.addEventListener("signCustomiserProductAddedToCart", function (event) {
sendSignCustomiserEvent("sign_customiser:added_to_cart", event.detail);
});
document.addEventListener("signCustomiserQuoteSubmitted", function (event) {
sendSignCustomiserEvent("sign_customiser:quote_submitted", event.detail);
});
document.addEventListener("signCustomiserFormSubmitted", function (event) {
sendSignCustomiserEvent("sign_customiser:form_submitted", event.detail);
});
</script>

This code sends only the customiser ID, the UTM values and the click IDs. It does not send the cart, the sign text or the form answers.

Then add a custom pixel:

  1. In Shopify admin, go to Settings, then Customer events.
  2. Click Add pixel.
  3. Enter a name, for example Sign Customiser leads.
  4. Add code that gets the events. The pixel gets the published data in event.customData. This example sends a Meta Lead event:
js
analytics.subscribe("sign_customiser:quote_submitted", function (event) {
// Load your Meta Pixel code in this pixel before this line.
fbq("track", "Lead");
});
  1. Save the pixel and connect it.

By default, a new pixel needs Marketing and Analytics permission from the customer.

Use Google Tag Manager

If your theme loads Google Tag Manager, send the events to the data layer:

HTML
<script>
document.addEventListener("signCustomiserQuoteSubmitted", function (event) {
var detail = event.detail;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "sign_customiser_quote_submitted",
customiser_id: detail.customiserId,
utm_source: detail.utmParams && detail.utmParams.utm_source,
utm_campaign: detail.utmParams && detail.utmParams.utm_campaign,
});
});
</script>

In Google Tag Manager, do these steps:

  1. Create a Custom Event trigger. Set the event name to sign_customiser_quote_submitted.
  2. Create a GA4 event tag with the event name generate_lead. Use the new trigger.
  3. Create a Google Ads conversion tag. Use the same trigger.
  4. Use Preview to make sure that the tags fire.

Do the same for signCustomiserFormSubmitted. Do it for signCustomiserProductAddedToCart only if no other tool sends add_to_cart.

6. Shopify: Retarget people who designed a sign

Meta

Generated products are not in your Meta catalogue. Thus, catalogue ads cannot show the exact sign to the customer. Use custom audiences:

  1. In Meta Ads Manager, create a website custom audience of people who did AddToCart or InitiateCheckout in the last 14 days.
  2. Create a second website custom audience of people who did Purchase.
  3. In your ad set, target the first audience and exclude the second audience.
  4. Make another audience from your Lead event for quote customers.
  5. Use ads that show finished signs and a clear call to action.

Use Test events in Meta Events Manager to make sure that AddToCart fires for a generated product.

You can also upload a Shopify customer segment as a customer list. Upload only customers who agreed to marketing.

Google

Connect Google Ads in the Google & YouTube app to measure conversions. Unlisted generated products are not in your Merchant Center feed. Thus, dynamic remarketing cannot show the exact sign.

Use these audiences:

  • A GA4 audience of users who did add_to_cart or begin_checkout. Use Exclude from audience permanently for users who did purchase. Set this when you create the audience.
  • A GA4 audience of users who did generate_lead.
  • A customer list from your Shopify segment.

Click IDs and offline conversions

Quote customers often buy later, after they talk to your team. Use the click ID to tell Google or Meta about this sale:

  1. Read the quote with the List quotes endpoint. Get ad_click_ids.gclid or ad_click_ids.fbclid.
  2. Save the click ID with the lead in your CRM.
  3. When the customer pays, send the sale to the ad platform:
    • For Google Ads, import the conversion with the gclid. Google Ads help says that offline conversion imports move to the Data Manager API from 15 June 2026. Check Google Ads help for the current method.
    • For Meta, send the conversion with the Conversions API. Send the fbc value, not the fbclid value. The format of fbc is fb.1., a time in milliseconds, a full stop and the fbclid. Meta asks for the time when you first received the fbclid. Sign Customiser does not store this time. Use the earliest time that your records show for the lead.

See Send Google Ads click IDs to your CRM and Track marketing campaigns with UTM parameters.

7. WordPress: Know how the customiser works

On WordPress, Sign Customiser works in one of two ways:

  • WooCommerce: You connect your WooCommerce store to Sign Customiser. Sign Customiser creates a WooCommerce product for each sign that a customer adds to the cart. See Connecting WooCommerce with Sign Customiser.
  • WordPress without WooCommerce: You use Quote Mode. The customer sends a quote request. Sign Customiser creates no product for a quote request. See Quote Mode.

Each WooCommerce generated product has these settings:

  • The status is published.
  • The catalogue visibility is hidden.
  • The tag is SignCustomiser.
  • The image is the sign preview.

The legacy WordPress plugin keeps working until you deactivate it. Use the WooCommerce connection for new setups. See Migrating from the legacy WordPress plugin.

8. WordPress: Track events and leads

These events reach the WordPress page:

EventReaches the WordPress page
signCustomiserProductAddedToCartNo
signCustomiserCheckoutStartedYes, with WooCommerce
signCustomiserFormSubmittedYes, for a custom design form
signCustomiserQuoteSubmittedYes, when Quote Mode is on

Add the Google Tag Manager code from step 5 to your site. Use your theme or a plugin that adds code to the page. Then create the triggers and tags in Google Tag Manager.

For Quote Mode, the quote is the main conversion. Use generate_lead in GA4 and Lead in Meta.

For WooCommerce, use your WooCommerce marketing extensions for add-to-cart and purchase tracking. Use Tag Assistant or Meta Test events to see which events each extension sends. Use signCustomiserCheckoutStarted only if no extension sends a checkout event.

9. WordPress: Send emails to customers who did not buy

WooCommerce

Use a WooCommerce abandoned cart tool, such as Klaviyo. In Klaviyo, start the flow from the Added to Cart event if the email must show the sign preview. Make sure that the email shows the preview.

Do not delete generated products during the retargeting period. To delete older products, use the SignCustomiser tag. See Automatically deleting generated products in WordPress.

Check your product feed extensions. Make sure that products with the SignCustomiser tag are not in your Google and Meta product feeds.

Quote Mode

Send each quote to your CRM or email tool. Read new quotes from the List quotes endpoint. This method also gives you the UTM values and click IDs. The Form Submitted trigger in Zapier still works, but it is deprecated. The Zap editor does not list the UTM values or click IDs as fields.

Then send a follow-up sequence to quote customers who did not buy. Send it only to customers who agreed to marketing.

10. Test your setup

Do these checks before you spend money on ads:

  1. Open your store with a test address, for example ?utm_source=test&utm_medium=cpc&utm_campaign=setup_check.
  2. Design a sign and add it to the cart.
  3. In Meta Events Manager, use Test events. Make sure that AddToCart shows one time only.
  4. In Google Tag Manager, use Preview. Make sure that each tag fires one time.
  5. Send a quote request. Read the quote with the List quotes endpoint. Make sure that utm_params contains the test values.
  6. Make sure that the abandoned cart email shows the sign preview.
  7. Make sure that your tags do not send the sign text, form answers, the cart or a ShareLink URL.

More information

Type a question and press Enter. Use the arrow keys to move between the results.