Extend, substitute, or create?
Commerce drop-ins offer three customization approaches. Extending existing drop-ins is the recommended and fully supported path. Substituting drop-ins with third-party solutions is sometimes necessary due to drop-ins’ composable architecture. Creating new drop-ins with the Drop-in SDK (currently early access) is also possible. This guide helps you choose the right approach.
Vocabulary
Extend
Modify or enhance existing drop-ins using slots, styling, events, or configuration. This is the recommended and fully supported approach.
Substitute
Replace an Adobe drop-in entirely with a third-party solution (like using Stripe for checkout). This comes with maintenance responsibilities and compatibility risks.
Create
Build a brand-new drop-in from scratch using the SDK. Currently in early access with limited third-party support.
Configuration
Settings and options that customize drop-in behavior without changing core functionality.
Styling
Override CSS, modify layouts, and replace visual components to change how drop-ins appear without altering their core functionality.
Slots
Declarative anchors where custom UI content can be injected into a drop-in.
Events
Data events that drop-ins emit, allowing you to listen and add custom behavior.
Transformers
Modify how drop-ins process and display data from Commerce APIs.
SDK (Drop-in SDK)
Software Development Kit for building custom drop-ins from scratch (currently in early access).
Third-party solution
External service or component that replaces an Adobe drop-in (for example, Stripe for checkout).
Choose your approach
Boundaries and limitations
Drop-ins work best for certain types of functionality. Understanding these boundaries helps you choose the right approach:
Drop-ins excel at:
- Commerce-specific UI components (product displays, cart management, checkout flows)
- Data-driven interfaces that connect to Commerce APIs
- Reusable functionality across multiple storefronts
- Components that benefit from Commerce’s styling and theming system
Consider alternatives for these use cases:
- Simple static content (use HTML/CSS instead)
- Third-party integrations with existing UI (use vendor scripts)
- Highly merchant-specific logic (use application-level code)
- Temporary A/B testing variants (use feature flags)
- Single-use, non-reusable customizations
Need a new extension point?
If existing drop-ins don’t provide the slots or events you need:
- Document your use case - Explain what you’re trying to achieve
- Identify the gap - What specific slot or event is missing?
- Submit a request - Share your requirements in the Discord Commerce Storefront channel
FAQs
Q: Why does Adobe recommend extending over building new drop-ins?
Extending is fully supported, maintains compatibility with updates, and reduces maintenance overhead. Most customization needs can be met through extension without the risks associated with building from scratch or substituting drop-ins.
Q: When is it acceptable to substitute a drop-in?
Substitution is acceptable when you need complete solutions from a single provider, have specialized functionality that doesn’t align with Adobe’s approach, need legacy system integration, or require provider-specific workflows with their complete UI and logic. However, you become responsible for maintaining compatibility with Commerce APIs and handling all updates independently.
Q: Is the drop-in SDK ready for production use?
No. The SDK is currently in early access with limited third-party support and no timeline for full support. Contact Adobe before investing in custom drop-in development.
Q: What extensibility options are available beyond slots?
While slots are the primary mechanism, you can also:
- Use configuration options to customize behavior
- Change how drop-ins look or behave (styling and layouts)
- Respond to drop-in events with custom logic
- Modify transformers to change how drop-ins process data
Q: How do I know if my use case requires a new drop-in?
Follow the decision flow in this guide. Most needs can be met by extending existing drop-ins. Only consider building new drop-ins if you have a use case that no existing drop-in addresses, are building entirely new functionality for multiple storefronts or brands, and have the resources and expertise for long-term maintenance.
Q: What happens if I substitute a drop-in and Commerce APIs change?
You’re responsible for updating your substitute to maintain compatibility. Adobe cannot provide support for third-party substitutes, and you may miss out on new features or security updates.