GITNUXSOFTWARE ADVICE
Customer Experience In IndustryTop 8 Best Proactive Software of 2026
Top 10 Proactive Software ranking for proactive outreach, comparing Twilio, Klaviyo, and ActiveCampaign for features, tradeoffs, and fit.
How we ranked these tools
Core product claims cross-referenced against official documentation, changelogs, and independent technical reviews.
Analyzed video reviews and hundreds of written evaluations to capture real-world user experiences with each tool.
AI persona simulations modeled how different user types would experience each tool across common use cases and workflows.
Final rankings reviewed and approved by our editorial team with authority to override AI-generated scores based on domain expertise.
Score: Features 40% · Ease 30% · Value 30%
Gitnux may earn a commission through links on this page — this does not influence rankings. Editorial policy
Editor’s top 3 picks
Three quick recommendations before you dive into the full comparison below — each one leads on a different dimension.
Iterable
Event-based journeys that evaluate audience eligibility from the same user and event schema via API ingestion.
Built for fits when proactive outreach requires API-based event contracts and governance across marketing workflows..
Customer.io
Editor pickSchema-mapped events and attributes drive segments and conditional automation across multistep messaging workflows.
Built for fits when teams need event-triggered lifecycle orchestration with schema-driven eligibility and API-controlled automation..
PostHog
Editor pickWorkflows that trigger from event properties and cohort logic, then execute actions via integrations and API.
Built for fits when teams need event-accurate outreach with shared governance over analytics and messaging..
Related reading
- Customer Experience In IndustryTop 10 Best Proactive Chat Software of 2026
- Customer Experience In IndustryTop 10 Best Proactive Notification Software of 2026
- Customer Experience In IndustryTop 10 Best Proactive Live Chat Software of 2026
- Customer Experience In IndustryTop 10 Best Proactive Support Services of 2026
Comparison Table
This comparison table maps Proactive Software options such as Iterable, Customer.io, PostHog, Pipedream, and Zapier across integration depth, data model, and the automation and API surface used for provisioning and configuration. It also highlights admin and governance controls including RBAC, audit log coverage, and policy enforcement, plus practical extensibility and throughput considerations. Readers can use it to compare fit for proactive outreach workflows and how each tool pairs with Twilio, Klaviyo, and ActiveCampaign.
Iterable
Lifecycle automationCustomer engagement automation for proactive lifecycle messaging with event-based segmentation, template and campaign execution, and APIs for data and trigger management.
Event-based journeys that evaluate audience eligibility from the same user and event schema via API ingestion.
Iterable’s core data model centers on tracked events, users, and attributes that map into audience definitions and message eligibility. The API surface supports event capture, attribute updates, message triggers, and export-style operations for operational reporting. Automation can be configured as event-driven journeys with wait states and conditional branches built on the same underlying schema. Extensibility is handled via webhooks and custom integrations that keep campaign logic consistent across marketing and product signals.
A practical tradeoff is that advanced governance and throughput control rely on correct event naming, identity rules, and environment configuration rather than purely visual setup. Teams with fragmented schemas often need a short schema-hardening phase to avoid misrouted journeys and attribute drift. Iterable fits environments where proactive outreach must stay aligned to a formal event contract and where API-driven operations are expected to support both marketing and engineering workflows.
- +Event-driven automation tied to a documented event and attribute model
- +REST APIs and webhooks support provisioning and operational workflows
- +RBAC and audit log support controlled access and change tracking
- +Cross-channel eligibility uses the same identity and schema inputs
- –Automation outcomes depend on consistent event naming and identity mapping
- –Complex orchestration can increase configuration overhead for smaller teams
Revenue operations teams
Automate churn prevention outreach from product telemetry
Lower churn rate through timely outreach
Marketing engineering teams
Provision campaigns through API-driven configuration
Reduce manual campaign setup time
Show 2 more scenarios
Data platform teams
Enforce schema governance for proactive messaging
Fewer misfires from attribute drift
Maintain event and attribute contracts that workflows reference for eligibility.
Growth marketers
Run cross-channel winback sequences
Higher reactivation with segmented journeys
Trigger personalized outreach when identity and lifecycle thresholds change.
Best for: Fits when proactive outreach requires API-based event contracts and governance across marketing workflows.
More related reading
Customer.io
Event-triggered messagingProactive messaging workflows driven by product events with segmentation, retries, and state tracking, plus an API and webhooks for event ingestion and campaign control.
Schema-mapped events and attributes drive segments and conditional automation across multistep messaging workflows.
Customer.io centers on a schema-driven data model that maps events and attributes into audiences and decision logic for messaging workflows. Integration depth shows up through webhook ingestion and a documented API surface for data writes, event tracking, campaign triggering, and message lifecycle handling. Automation relies on event triggers, time delays, and conditional branching that can chain through multiple channels and templates. Admin control includes RBAC-like team permissions and operational settings that support multi-user governance.
A tradeoff appears in how tightly workloads depend on correct event modeling and attribute hygiene, because mis-specified schemas lead to incorrect segment membership and message eligibility. Customer.io fits teams that already instrument product events and need predictable orchestration with throughput constraints and retry behavior tied to the integration layer. It also fits migration situations where Klaviyo-like list segmentation or ActiveCampaign-style marketing automation needs stronger event-to-attribute mapping and programmatic control.
- +Event-to-attribute data model drives eligibility and message logic
- +API surface covers event ingestion and workflow control
- +Webhooks enable custom integrations beyond built-in destinations
- +RBAC-style admin separation supports multi-team operations
- –Workflow correctness depends on disciplined event schema design
- –Complex programs require careful monitoring and attribution testing
Product analytics and CRM engineers
Automate onboarding after feature events
Fewer manual campaign builds
Marketing operations teams
Coordinate lifecycle messaging across channels
Consistent targeting across journeys
Show 2 more scenarios
Customer success teams
Trigger renewal nudges on risk signals
Reduced churn outreach waste
Ingest backend events into attributes and gate outreach with suppression and conditional eligibility.
Backend platform teams
Integrate messaging with internal systems
Faster integration provisioning
Write events and trigger workflows through API and webhook interfaces with explicit payload mapping.
Best for: Fits when teams need event-triggered lifecycle orchestration with schema-driven eligibility and API-controlled automation.
PostHog
Analytics to automationProduct analytics that can drive proactive outreach via event capture, webhooks, and trigger integrations with a programmable automation surface and audit-friendly event data model.
Workflows that trigger from event properties and cohort logic, then execute actions via integrations and API.
PostHog’s integration depth centers on tracking event capture, storing properties in a defined schema, and using those events as inputs to automation rules. The data model supports cohorting, funnels, and segment definitions that feed outreach conditions without duplicating logic in separate systems. The automation surface includes workflows that evaluate event criteria and then call out to channels through integrations and API driven actions.
A key tradeoff versus Twilio, Klaviyo, and ActiveCampaign is that PostHog automation depends on event fidelity in the tracking layer, so missing or inconsistent properties reduce rule accuracy. PostHog fits when marketing and product teams want outreach governed by the same behavioral dataset used for experimentation and analysis, not by ad hoc lists alone. It is also a strong fit when governance requires RBAC and auditability across analytics, experiments, and operational actions.
- +Event-driven workflows tied to the analytics data model and schemas
- +Cohorts and funnels can directly parameterize outreach triggers
- +API and webhooks support custom routing and external system actions
- +RBAC and audit logs cover administration across projects and spaces
- –Automation accuracy depends on disciplined event and property instrumentation
- –Complex multichannel journeys can require more configuration than CRM-centric tools
Product analytics teams
Notify on feature adoption anomalies
Faster remediation by context
Lifecycle marketing teams
Trigger emails on in-app behavior
Higher relevance without list churn
Show 2 more scenarios
Growth engineering teams
Automate custom webhook-driven journeys
Extensibility across internal tools
Uses the API surface and webhooks to push enriched event context to downstream systems.
Platform governance teams
Control access to automation rules
Reduced change risk
Uses RBAC and audit logs to manage who can edit schemas, segments, and workflow actions.
Best for: Fits when teams need event-accurate outreach with shared governance over analytics and messaging.
Pipedream
Workflow automationProgrammable workflow automation for proactive outreach that connects event sources to messaging APIs with an executable data model and step-level retry and governance controls.
Workflow steps run custom JavaScript with first-class webhook inputs for controllable API orchestration.
In proactive software outreach automation, Pipedream combines an event-driven automation runner with a large integration catalog. Workflows trigger from webhooks, scheduled runs, and app events, then call public APIs with per-step configuration and shared credentials.
The data model centers on JSON payloads passed through workflow steps, with optional schema validation patterns for safer transformations. Its automation and API surface extends to custom nodes, allowing teams to add new integrations without waiting for prebuilt connectors.
- +Event triggers support webhooks, schedules, and many app emissions.
- +Step-level code and configuration enables precise API call control.
- +Extensibility via custom functions and reusable workflow components.
- +Transparent payload passthrough supports straightforward JSON transformations.
- –Governance features like RBAC and audit logs need deliberate workflow ownership setup.
- –Data typing stays JSON-first, so schema enforcement requires added validation logic.
- –High-volume automation can require careful rate-limit handling per connector.
Best for: Fits when teams need webhook and API-driven outreach automation with custom integration logic.
Zapier
Automation integrationProactive event-to-action automation across apps with triggers, multi-step workflows, and an automation API surface for integrators that need fast rollout and governance settings.
Zaps with Code by Zapier let custom JavaScript transform Zap input fields inside the same workflow.
Zapier connects web apps through integrations that trigger actions on schedules, events, and incoming data. Its automation surface centers on multi-step Zaps, including code steps, formatter steps, and app-specific actions.
Zapier’s data model maps fields from each integration into a shared input schema per step, which affects field naming, typing, and validation. Governance relies on workspace roles, connection scoping, task controls, and audit trails to manage who can create and run automations and what endpoints receive data.
- +Large app catalog with many event triggers and actions across SaaS systems
- +Zaps support multi-step workflows with branching logic via paths
- +Code steps allow custom JavaScript transforms when built-in mapping is insufficient
- +Connection sharing and workspace roles support controlled use across teams
- +Audit logs track automation activity and admin changes for review workflows
- –Throughput limits can throttle high-volume runs across busy Zaps
- –Field typing and schema normalization vary by app and can cause mapping friction
- –Debugging multi-step failures requires careful replay and step-by-step inspection
- –API and automation surfaces for custom integrations require additional setup effort
- –Long-running orchestration is limited compared with dedicated workflow engines
Best for: Fits when teams need cross-app automation with documented APIs and workspace governance over connections and runs.
Segment
Event data pipelineCustomer event pipeline for proactive triggering where event schemas, identity resolution, and downstream routing are controlled through an API and destination mapping.
Workspace routing with source-destination configuration plus event processing that normalizes traits before delivery.
Segment routes event data into multiple analytics, marketing, and activation destinations through a documented API and UI-driven source setup. Its data model centers on a consistent event schema with traits and identify calls that map across warehouses, CDPs, and ad and messaging platforms.
Automation relies on destination configuration, webhook-style integrations, and extensibility via server-side event processing patterns. Administration focuses on workspace controls, access management, and audit visibility for changes to sources, destinations, and routing.
- +Event ingestion API supports routing to many destinations with consistent schemas
- +Identify and track semantics reduce schema drift across warehouses and activations
- +Destination and source provisioning is configuration-driven, not code-heavy
- +Extensibility supports custom event transformations before delivery
- –Schema enforcement is partly organizational, not strict compile-time validation
- –High-throughput routing requires careful batching and backpressure planning
- –Governance depends on workspace RBAC discipline across teams and environments
- –Complex routing logic can become hard to audit without disciplined change logs
Best for: Fits when teams need controlled event routing across analytics, activation tools, and warehouses with governance.
Comm100
Engagement notificationsCustomer engagement suite with proactive messaging triggers across web chat and lifecycle notifications using configurable rules and integration APIs for system events.
API and webhook automation for synchronizing outreach triggers, audience membership, and campaign state across systems.
Comm100 focuses on proactive outreach workflows tied to customer communication channels and service data. It supports agent-assisted engagement through configurable playbooks and routing inputs that can be mapped to external systems.
Integration depth matters because Comm100 commonly connects through APIs and webhooks to synchronize contacts, events, and campaign state. Control depth shows up in admin governance such as role-based access for configuration and operational actions.
- +API-oriented integrations for syncing contacts, events, and outreach state
- +Configurable proactive journeys driven by external triggers and service signals
- +Admin governance supports RBAC-style controls for workflow and agent operations
- +Extensibility via automation hooks for event handling and custom routing logic
- –Automation schema complexity increases when many triggers and segments intersect
- –Throughput tuning can require careful design of trigger frequency and deduplication
- –Governance granularity can feel limited for fine-grained campaign-level controls
Best for: Fits when mid-market teams need proactive outreach integrated with existing customer data and service operations.
Crisp
Proactive chat automationCustomer support and proactive chat engagement with automated triggers, event-driven routing, and API access for agent, visitor, and message state synchronization.
Proactive messaging triggers driven by Crisp events, handled through API and automation rules with admin governance controls.
Crisp turns proactive messaging into a governed chat and automation workflow with a documented API surface. It centers on an inbox plus event-driven triggers that can initiate outbound conversations based on user behavior.
Crisp’s data model maps contacts, conversations, and events so automations can act on defined attributes. Administrators can manage access with RBAC controls and review activity through audit log style records for governance.
- +Event-triggered proactive outreach from documented webhooks and API events
- +Contact and conversation data model supports attribute-based automation logic
- +RBAC and admin controls restrict inbox actions and automation management
- +Extensibility via API lets teams build custom routing and tooling
- –Automation outcomes depend on correct event instrumentation and schemas
- –Proactive messaging can require careful frequency rules to avoid spam
- –Throughput and rate limits for high-volume triggers need sizing work
- –Complex multi-channel journeys require more configuration than simple playbooks
Best for: Fits when teams need governed proactive outreach tied to chat context and behavior, not just email lists.
Frequently Asked Questions About Proactive Software
Which proactive outreach tool is most API-first for event-triggered messaging and segmentation?
How do Iterable, Customer.io, and PostHog handle event data models and eligibility logic?
What is the practical difference between Twilio-style communication orchestration and a proactive platform built around customer journeys?
Which tools are strongest for integrating outreach workflows into existing systems using APIs and webhooks?
How do SSO and RBAC differ across proactive outreach tools like Iterable and Crisp?
What migration path works best when teams need to move event history or audience data into a new proactive system?
How do admin controls and audit visibility help prevent misrouted outreach at scale?
Which tool offers the most extensibility when built-in integrations do not cover a required endpoint?
What common technical issue appears when integrating proactive outreach with external systems, and how do tools mitigate it?
Conclusion
After evaluating 8 customer experience in industry, Iterable stands out as our overall top pick — it scored highest across our combined criteria of features, ease of use, and value, which is why it sits at #1 in the rankings above.
Use the comparison table and detailed reviews above to validate the fit against your own requirements before committing to a tool.
Tools reviewed
Primary sources checked during evaluation.
Referenced in the comparison table and product reviews above.
How to Choose the Right Proactive Software
This buyer's guide covers proactive outreach and lifecycle messaging tooling across Iterable, Customer.io, PostHog, Pipedream, Zapier, Segment, Comm100, and Crisp.
The guide focuses on integration depth, data model design, automation and API surface, and admin and governance controls, so selection can be tied to how events and eligibility logic move through systems.
Event-triggered outreach automation that turns product and customer signals into governed messages
Proactive software orchestrates outbound messaging when events, identities, and eligibility rules match defined conditions. The core work is converting event data into a consistent data model and then using automation flows to execute messages across channels with controlled state tracking.
Iterable and Customer.io illustrate two common patterns. Iterable runs event-based journeys over the same user and event schema via API ingestion and then executes eligibility checks for lifecycle messaging. Customer.io maps schema-mapped events and attributes into segments that drive multistep messaging workflows with retries and state tracking.
Evaluation criteria that match integration, schema control, automation execution, and governance
Integration depth determines how reliably events and identities enter the system and how actions leave it. Data model choices determine whether eligibility logic stays consistent across events, attributes, and routing.
Automation and API surface determine how far orchestration can go without custom glue code. Admin and governance controls determine how permissions, environment separation, and change visibility work across teams and workflows.
Event ingestion API plus webhooks for trigger and operational feedback
Iterable and Customer.io both center automation on event-to-attribute ingestion with REST APIs for messaging and attributes plus webhooks for operational callbacks. PostHog also ties proactive triggers to an analytics event model and uses API and webhooks for executing actions outside the product.
Schema-mapped event and attribute model for eligibility and segmentation
Customer.io uses schema-mapped events and attributes to drive segments and conditional automation across multistep workflows. Iterable similarly evaluates audience eligibility using the same user and event schema via API ingestion, which reduces mismatches between routing logic and the underlying event contract.
API and workflow execution surface for multistep messaging logic with state
Customer.io provides an API surface for workflow control paired with multistep logic and state tracking. Iterable focuses on event-based journeys tied to audience eligibility checks, which makes the execution surface closely follow the event contract.
Automation extensibility with code-level steps and programmable transformations
Pipedream supports workflow steps that run custom JavaScript with first-class webhook inputs, which enables precise API orchestration and custom routing. Zapier provides Zaps with Code by Zapier for custom JavaScript transforms inside a multi-step workflow when field mapping is insufficient.
Destination and source routing configuration with trait normalization
Segment uses workspace routing that maps sources to destinations through configuration and then normalizes traits before delivery. This pattern fits event-to-activation pipelines where consistent event schemas must reach multiple analytics and marketing targets.
Admin governance controls with RBAC and audit visibility for change tracking
Iterable includes RBAC plus audit visibility and environment separation for governance workflows. PostHog and Crisp also include RBAC and audit log style records, while Zapier uses workspace roles and audit trails to manage who can create and run automations.
A decision flow for selecting proactive outreach software with the right schema, automation, and admin controls
Start by mapping the event contract and identity model. Then verify that the tool supports the same schema in ingestion, eligibility evaluation, and message execution.
Next, validate the automation surface against the orchestration complexity and integration count. Finally, confirm RBAC, audit logs, and environment separation match the governance needs for multi-team operation.
Define the event contract and check for schema-based eligibility logic
If eligibility depends on a stable event and attribute schema, Iterable and Customer.io match that requirement with API ingestion tied to eligibility checks and schema-mapped events and attributes. If proactive logic needs to be parameterized from cohort and funnel queries over analytics event properties, PostHog can drive workflows from event properties and cohort logic.
Verify the automation execution model and state tracking needs
For multistep lifecycle messaging with retries and state tracking, Customer.io provides workflow orchestration driven by product events. For event-based journeys that evaluate audience eligibility from the same user and event schema, Iterable focuses on event-driven journeys that follow the contract.
Match extensibility to integration complexity and required transformations
For teams that need custom orchestration code when prebuilt integrations are not enough, Pipedream runs JavaScript in workflow steps with webhook inputs and programmable API call control. For teams that want cross-app event-to-action automation with field transforms inside a workflow, Zapier supports Code steps and multi-step Zaps with branching via paths.
Choose the routing layer based on where schema normalization should live
If event routing across warehouses, analytics, and activation tools must be configuration-driven with trait normalization, Segment centers routing on workspace configuration and identify and track semantics. If outreach is anchored to chat or service context rather than email lists, Crisp ties proactive messaging triggers to Crisp events and a contact and conversation data model.
Validate governance controls against team ownership and change visibility
For multi-team governance with controlled access and change tracking, confirm RBAC, audit log visibility, and environment separation. Iterable includes RBAC plus audit visibility and environment separation, while PostHog and Crisp include RBAC and audit log style records for administration across projects and spaces.
Stress-test operational and throughput behaviors in workflow design
If event correctness depends on instrumentation discipline, plan for schema design reviews since tools like Iterable and Customer.io require consistent event naming and identity mapping for correct automation. If high-volume automation can trigger rate-limit constraints, plan rate-limit handling since Pipedream and Zapier can require careful connector-specific throughput management.
Which organizations benefit most from proactive outreach tools with event contracts and governed automation
Different proactive software patterns fit different data ownership models. Some tools treat the analytics data model as the source of truth, while others treat event contracts and messaging workflows as the governance anchor.
The best fit depends on whether outreach logic must be schema-driven, code-extensible, routing-configured, or chat-anchored.
Marketing and lifecycle teams that require API-based event contracts and governance across outreach workflows
Iterable fits teams that need event-based journeys tied to the same user and event schema via API ingestion, plus RBAC and audit visibility for governed execution. This profile aligns with Iterable being best for API-based event contracts and governance across marketing workflows.
Product-led teams that want event-triggered lifecycle orchestration with schema-mapped eligibility and stateful multistep automation
Customer.io fits teams that need schema-mapped events and attributes to drive segments and conditional automation across multistep workflows. This profile aligns with Customer.io being best for event-triggered lifecycle orchestration with schema-driven eligibility and API-controlled automation.
Teams that use analytics cohorts and funnels as the trigger source for event-accurate outreach
PostHog fits teams that need workflows that trigger from event properties and cohort logic, then execute actions via integrations and API. This profile aligns with PostHog being best for event-accurate outreach with shared governance over analytics and messaging.
Engineering teams that need webhook and API-driven proactive automation with custom integration logic
Pipedream fits teams that need webhook triggers and step-level code control for precise API orchestration. This profile aligns with Pipedream being best for webhook and API-driven outreach automation with custom integration logic.
Customer support and chat operations that want proactive messaging tied to chat context and visitor behavior
Crisp fits teams that need governed proactive outreach anchored to chat context using event-driven triggers handled through its API and automation rules. This profile aligns with Crisp being best for governed proactive outreach tied to chat context and behavior rather than email lists.
Pitfalls that cause proactive outreach programs to fail in real integrations and governance
Most failures come from mismatches between event schema discipline and eligibility logic. Other failures come from governance gaps that leave workflow ownership unclear or from orchestration choices that do not fit throughput.
These pitfalls show up across Iterable, Customer.io, Pipedream, Zapier, Segment, Comm100, and Crisp.
Designing eligibility logic without disciplined event naming and identity mapping
Iterable and Customer.io both rely on consistent event naming and correct identity mapping so eligibility checks match the intended audience. Fix workflow correctness by enforcing an event schema review process before expanding campaigns.
Assuming schema enforcement happens automatically across all event routing and transformations
Segment normalizes traits before delivery, but schema enforcement can be partly organizational rather than strict compile-time validation. Fix this by adding validation logic at the transformation layer when routing logic relies on strict typing.
Using automation tools for long-running orchestration without planning failure replay
Zapier can throttle high-volume runs and multi-step failures require careful replay and step-by-step inspection. Fix this by keeping critical orchestration flows short or moving complex stateful logic to tools built for state tracking like Customer.io.
Leaving workflow ownership and permission boundaries undefined across teams
Pipedream governance such as RBAC and audit logs needs deliberate workflow ownership setup, and Zapier governance depends on workspace roles and connection scoping. Fix this by assigning workflow owners and using RBAC boundaries that match environment separation needs.
Over-triggering proactive messaging without frequency rules and deduplication strategy
Crisp and Comm100 both tie outcomes to correct event instrumentation and timing rules, and throughput tuning can require deduplication design. Fix this by adding frequency rules and deduplication keys before scaling trigger frequency.
How We Selected and Ranked These Tools
We evaluated Iterable, Customer.io, PostHog, Pipedream, Zapier, Segment, Comm100, and Crisp using criteria-based scoring focused on features, ease of use, and value. Features carried the most weight because integration depth, data model alignment, automation and API surface, and governance controls drive whether proactive outreach can be operated safely. Ease of use and value each received the same secondary weight so teams can implement event contracts and workflow configuration without excessive operational friction.
Iterable separated itself from the lower-ranked tools because it connects event-based journeys to audience eligibility using the same user and event schema via API ingestion, and it pairs that with RBAC, audit visibility, and environment separation. That combination lifted Iterable on the criteria tied most directly to integration depth and governance controls.
Keep exploring
Comparing two specific tools?
Software Alternatives
See head-to-head software comparisons with feature breakdowns, pricing, and our recommendation for each use case.
Explore software alternatives→In this category
Customer Experience In Industry alternatives
See side-by-side comparisons of customer experience in industry tools and pick the right one for your stack.
Compare customer experience in industry tools→FOR SOFTWARE VENDORS
Not on this list? Let’s fix that.
Our best-of pages are how many teams discover and compare tools in this space. If you think your product belongs in this lineup, we’d like to hear from you—we’ll walk you through fit and what an editorial entry looks like.
Apply for a ListingWHAT THIS INCLUDES
Where buyers compare
Readers come to these pages to shortlist software—your product shows up in that moment, not in a random sidebar.
Editorial write-up
We describe your product in our own words and check the facts before anything goes live.
On-page brand presence
You appear in the roundup the same way as other tools we cover: name, positioning, and a clear next step for readers who want to learn more.
Kept up to date
We refresh lists on a regular rhythm so the category page stays useful as products and pricing change.
