Behavioral signals in the Connect web library (Ultimate)

Guide for Connect Ultimate customers

Behavior signals are events that are typically important to any business, regardless of the industry. You can configure the Connect library to generate them while visitors are interacting with your website.

Not sure what your license type is?

You can quickly check what type of Connect license your company is using. Log in to your Connect account and see the label on the home screen.

Acoustic Connect home page

Sample Connect Ultimate subscription

If your subscription is Pro, see Behavioral signals in the Connect web library (Pro). If your subscription is Premium, see Behavioral signals in the Connect web library (Premium). If it's Ultimate, continue reading.


Available behavioral signals

With a Connect Ultimate subscription, you can capture key user behaviors on your website and map them to contacts in your audience. Ten signals are available:

  • Add-to-cart - Captures when a user adds products, services or offerings to their shopping cart. Provides product names, IDs, prices and quantities.

  • Error - Captures errors that lead users away from the happy path. Focus on payment, promo code, and account registration errors that result in lost sales opportunities.

  • Identification - Captures visitor emails or contact IDs as they browse your website and feeds the data to your audience in Connect.

  • On-site search - Records the search terms that your website visitors use and the number of results they get.

  • Order - Captures completed orders with total amounts and detailed product breakdowns.

  • Page view - Registers page views as users browse your website. This is the easiest signal to implement.

  • Product configuration - Tracks interactions on product pages (selecting size, checking FAQs or reviews, etc.) that suggest customer engagement.

  • Product view - Collects data about the products people view on your website.

  • Remove-from-cart - Captures when a user removes products from their shopping cart. Helps track cart modification behavior and purchase hesitation.

  • Rich media interaction - Records user interactions with video and audio content. Valuable for audience segmentation based on product interest.


Important considerations

The signals are designed to capture all necessary details for each use case. However, some fields may not be available or applicable to your business:

  • No pricing information - If your business doesn't display prices (insurance quotes, B2B requests), use placeholder values for required price fields in signals.

  • Third-party checkout - If users complete checkout on a third-party platform where you cannot install the Connect library, collect order data on your confirmation page or via backend integration. Typical examples include payment processors and ticket-selling platforms.

  • Identification timing - The identification signal is required to link behaviors to contacts. Ensure user identifiers (email, customer ID) are accessible when the signal fires. Consider surfacing identifiers in your data layer once users log in.


Understanding Ultimate configuration

To implement behavior signals, you must first add the Connect library to your web application and initialize it using TLT.initUltimate(), a function added in version 6.4.189. This function automatically applies settings optimized for Ultimate-tier capabilities, which include all behavioral signals plus advanced features like Ajax monitoring and session replay with DOM capture.

Before releasing your web app with the Connect SDK to production, do the following:

  • Take measures to secure your end users' personally identifiable information (PII). For instructions, see Enable privacy protection in the Connect Web SDK.
  • Work with your Acoustic representative to discuss options for deploying and hosting the SDK and to verify that all necessary data is captured correctly.

Prerequisites

To integrate the Connect library into your app, you need an application key and collector URL. You can generate these credentials yourself in your Connect account. For instructions, see Get an application key for the Connect library.


Instructions

Step A: Install the Connect library

  1. In your webpage template, add the following code snippets anywhere within the <head> tag. This ensures they execute as early as possible on page load.
<script src="https://cdn.goacoustic.com/connect/latest/acoconnect.min.js"></script>
<script>
(function () {
    if (window.TLT) {
        TLT.initUltimate({
            appKey: "APP_KEY",        // Replace with your application key
            postUrl: "COLLECTOR_URL", // Replace with your collector URL
            callback: initLogSignal
        });
        
        function initLogSignal() {
            // Connect library is ready
            // Add your signal implementation code here
            console.log("Connect Ultimate SDK initialized");
        }
    } else {
        console.error("Connect library failed to load");
    }
}());
</script>
  1. Replace APP_KEY and COLLECTOR_URL with your Connect credentials.
  2. Push the changes to the server.

Important notes:

  • Script order matters: The Connect library file must load before the initialization code. Do not change the order of the two <script> tags.
  • Callback timing: The initLogSignal callback function executes only when the Connect library is fully initialized and ready. All signal implementation code must be placed inside this callback to ensure the library is ready before signals are sent.
  • Error handling: The code checks if TLT exists before calling to prevent errors if the library fails to load.
  • Version pinning: You can replace latest in the CDN URL with a specific version number for production deployments to ensure consistency. Version 6.4.189 or later is required for initUltimate() support.

Step B: Customize the SDK (optional)

The initUltimate() function accepts additional optional parameters:

TLT.initUltimate({
    appKey: "APP_KEY",
    postUrl: "COLLECTOR_URL",
    addPako: true,                // Enable compression (default: true)
    addAjaxListener: false,       // Track AJAX calls (default: false)
    addRestartTLTforSPA: true,    // SPA support (default: true)
    remoteConfigUrl: undefined,   // Remote config URL (optional)
    callback: initLogSignal
});

For more complex customization needs (such as configuring privacy masking rules or disabling specific modules), you can pass a custom configuration object:

function configureSDK() {
    // Get the default config from the SDK core
    const config = window.TLT.getDefaultConfig();
    
    // Configure privacy masking
    config.services.message.privacy.push({
        exclude: false,
        targets: [
            "input[type=email]",
            "input[type=tel]",
            "select[form=application]",
            "textarea[form=application]"
        ],
        maskType: 1
    });
    
    // Configure session replay settings
    config.modules.replay.domCapture.enabled = true;
    config.modules.replay.mousemove.enabled = true;
    
    // Other customizations
    config.core.buildNote = "Connect SDK with custom config";
    
    return config;
}

if (window.TLT) {
    TLT.initUltimate({
        appKey: "APP_KEY",
        postUrl: "COLLECTOR_URL",
        newConfig: configureSDK(),    // Custom SDK configuration
        addAjaxListener: true,        // Enable optional Ajax Listener
        callback: initLogSignal
    });
}

function initLogSignal() {
    // Add your signal implementation code here
    console.log("Connect Ultimate SDK initialized with custom config");
}

Step C: Enable behavior signals

Now that the library is installed and initialized, you can configure the behavior signals. All signal implementation code must be placed inside the initLogSignal callback function to ensure the library is ready.

See the following pages for detailed implementation instructions:

Each signal page provides required and optional fields, code examples and implementation guidance.

Example signal implementation:

function initLogSignal() {
    console.log("Connect Ultimate SDK initialized");
    
    // Example: Track add-to-cart button clicks
    document.querySelectorAll('.add-to-cart-button').forEach(function(button) {
        button.addEventListener('click', function(e) {
            // Extract product data and log signal
            TLT.logSignal({
                signalType: "addToCart",
                name: "Product added to cart",
                category: "Behavior",
                // ... additional signal data
            });
        });
    });
}

📘

Migrating from Acoustic Campaign?

You must replace the Silverpop Web Tracking pixel with the new, flexible logSignal-based tracking method in Acoustic Connect.

Step D: Verify signal capture

To confirm that signals are implemented correctly and data is flowing:

  1. Click around on your website to trigger the signals you have activated. The identification signal is required because it maps users to behaviors.
  2. Log in to your Acoustic Connect subscription.
  3. Go to Data management > Audience.
  4. On the All contacts tab, select the contact you used for testing the signal.
  5. In the activity feed, view the activity associated with the selected contact.
Signals in activity feed

What to look for:

As you expand a user session, you can see the 5 most recent signals of each type associated with it. You should see:

  • Add-to-cart events showing product details
  • Error events with error descriptions
  • On-site search events with search terms
  • Order events showing order totals
  • Page view events with URLs
  • Product configuration events with interaction details
  • Product view events with product information
  • Remove-from-cart events showing removed products
  • Rich media interaction events with playback details
  • Session groupings (identification signals link these together but aren't displayed separately)

📘

Note

The activity feed displays the last 1000 signals or signals from the last 30 days. In some cases, newly added signals may not be immediately visible.

Alternative verification methods

Option 1: Signal management

To view all signals without limitations, navigate to Behavioral management > Signal management and click on a signal type.

Signal management in Connect

Option 2: Session search

Inspect the JSON payload generated by signals and review session replays.

  1. Click around on your website to trigger the signals you have activated.
  2. In your Connect account, navigate to Insights > Sessions > Session search.
  3. Find your test session and select the checkmark next to it.
  4. Click Inspect signals.
  1. Find a JSON object of the following format:
{
  "signalType": "identification",
  "name": "identification from product page",
  "category": "Behavior",
  "identifierName": "email",
  "identifierValue": "[email protected]",
  "identificationFromLogin": true,
  "effect": "positive"
}

Troubleshooting

Signals not appearing in Connect?

  • Verify all required fields are populated (see individual signal documentation).
  • Check browser console for JavaScript errors.
  • Confirm application key and collector URL are correct.
  • Ensure identification signal fired before other behavioral signals.
  • Verify signals are being sent inside the callback function - signals sent before initialization completes will fail silently.

Callback function not executing?

  • Verify the Connect library loaded successfully (check browser Network tab).
  • Check for JavaScript errors before the initUltimate() call.
  • Confirm callback function is defined before being passed to initUltimate().
  • Check the browser console for the "Connect library failed to load" error message.

"initUltimate is not a function" error?

  • Verify you're using version 6.4.189 or later of the Connect library.
  • Check that the library file loaded successfully (no 404 errors on Network tab).
  • Confirm the script URL is correct: https://cdn.goacoustic.com/connect/latest/acoconnect.min.js.

Signals appearing with missing data?

  • Review required vs optional fields for each signal type.
  • Check that data extraction logic matches your site's DOM structure.
  • Verify timing - some data may not be available when signal fires.
  • Use console.log() to debug extracted values before sending signals.

Library file not loading?

  • Check that the CDN URL is accessible from your network.
  • Verify there are no content security policy (CSP) restrictions blocking the script.
  • Confirm the script tag is in the <head> section and loads before the initialization code.
  • Try accessing the CDN URL directly in your browser to confirm it's reachable.

Maintenance note

As your website receives updates or gets redesigned, these changes may affect signal configuration and session replay capture. Include signal verification in your regular quality assurance routine to ensure:

  • Selectors still match updated DOM structure
  • Data extraction logic captures correct values
  • Required fields remain populated
  • Signals fire at appropriate times in user flows
  • Privacy masking rules still protect sensitive information
  • Session replay captures relevant user interactions

Next steps

Now that your signals are capturing data, consider the following steps:

  • Create segments based on behavioral data
  • Set up automated campaigns triggered by signals
  • Monitor signal volume in Signal management
  • Review the activity feed regularly to understand customer behavior patterns
  • Use session replay to identify user experience issues and optimization opportunities