There is a pattern I see at least twice a month. A brand owner contacts us because they are unhappy with their current agency. The work is slow, the communication is poor, the results are underwhelming. They want to switch. Then they discover the cost of leaving.
Sometimes it is a contractual penalty — three or six months' fees to terminate early. Sometimes it is technical — the agency built the store using proprietary code that no other developer can maintain. Sometimes it is operational — all the brand's accounts (Shopify admin, Klaviyo, Google Analytics, domain registrar) are registered under the agency's email and the brand has no independent access.
Each of these scenarios is a form of lock-in. Some are deliberate. Some are the result of lazy setup practices. Either way, they shift power from the brand to the agency in ways that serve the agency's commercial interests, not the client's.
This article is a diagnostic. If you recognise three or more of these signs, your agency has locked you in — and you need a plan to get out.
What agency lock-in actually looks like
Lock-in is not always obvious. It is rarely a single dramatic clause or action. More often, it is a collection of small decisions that individually seem reasonable but collectively create a dependency that is expensive to unwind. The agency may not have planned it. But the effect is the same: you cannot leave without significant cost, disruption, or risk.
I categorise lock-in into three types: technical lock-in (dependencies embedded in how the store is built), contractual lock-in (terms that penalise departure), and operational lock-in (account ownership and access structures that give the agency control). Most locked-in brands experience all three simultaneously.
Sign 1: You do not own your own accounts
This is the most common form of lock-in, and the easiest to check. Answer these questions honestly:
- Is your Shopify store owner email your business email, or the agency's?
- Is your domain registered in your company name, or the agency's?
- Do you have admin access to your Klaviyo, Google Analytics, Google Search Console, and social media advertising accounts?
- Is the payment method for your Shopify plan your company card, or the agency's?
- Can you log into all of these accounts independently, without asking the agency for credentials?
If the answer to any of these is "the agency's" or "I don't know," you have an ownership problem. The agency controls your digital infrastructure. They may not be using this control maliciously, but if the relationship sours, they hold the keys to your entire online business.
Why agencies do this
Sometimes it is convenience. It is faster for the agency to set up accounts under their own email and master login. Sometimes it is the Shopify Partner programme structure — agencies create development stores on their partner account, and if ownership is not properly transferred at launch, the store remains linked to the agency's account. And sometimes it is deliberate: agencies know that controlling access creates a switching cost that keeps clients from leaving.
What to do
Audit every account associated with your ecommerce operation. Create a spreadsheet listing each platform, the login email, who has admin access, and who controls the payment method. Any account not registered under your business email should be transferred immediately. This is your most urgent priority — do it today, not next month.
Sign 2: Proprietary code you cannot take with you
Some agencies build Shopify themes using their own proprietary frameworks, CSS libraries, or JavaScript utilities. On the surface, this can seem like a benefit — the agency has invested in tools that speed up development. In practice, it often creates a dependency.
How to spot it
Ask your agency a direct question: "If we wanted to switch to a different developer, could they work with our existing theme code without needing access to any of your proprietary tools or frameworks?" If the answer is anything other than an unqualified "yes," you have a proprietary code dependency.
Another indicator: ask for a copy of your theme code. If the agency hesitates, refers to IP ownership clauses, or provides code that includes references to external resources hosted on the agency's servers, you are dealing with proprietary lock-in. We covered the contractual side of this in our article on red flags in ecommerce agency contracts.
Why it matters
If your theme depends on the agency's proprietary framework, switching to a new developer means either continuing to use code that only the original agency fully understands — resulting in slower development, higher costs, and accumulating technical debt — or rebuilding the theme from scratch, which means paying for a new Shopify development project. Either way, you lose.
What good looks like
A well-built Shopify theme uses Shopify's standard Liquid templating language, standard CSS (or a common preprocessor like SCSS), and vanilla JavaScript or widely-used libraries. Any competent Shopify developer should be able to open the codebase and understand it within a few hours. The code should be well-structured, consistently formatted, and include comments where logic is non-obvious.
Sign 3: Zero documentation
Documentation is the bridge between one developer and the next. Without it, your store's codebase is a black box that only the original agency can navigate efficiently. This creates an implicit dependency that increases the cost and risk of switching providers.
What should be documented
- Theme architecture: how templates, sections, and snippets are organised
- Custom functionality: what it does, how it works, where the code lives
- Third-party integrations: what is connected, how, and what credentials are used
- App configurations: which apps are installed, what they do, how they are configured
- Deployment process: how changes are made and published
- Known issues and workarounds: technical debt that a new developer should know about
The reality
Most agencies provide little or no documentation. They argue that the code is self-documenting, or that documentation is not included in the project scope, or that they provide verbal handover during training sessions. All of these are inadequate. Verbal knowledge walks out the door when your account manager leaves the agency. Self-documenting code is a myth when you are dealing with complex Liquid templates, custom metafield schemas, and integration middleware.
What to do
Request a technical documentation package from your current agency. If they resist or quote a large fee for creating it, that tells you two things: the documentation does not exist, and they know its absence creates dependency. Budget for an independent code audit from a different web development provider to assess maintainability before you need to switch.
Sign 4: Excessive app dependency
Shopify's app ecosystem is powerful, but overreliance on apps — particularly apps recommended or resold by your agency — creates operational lock-in that is expensive to unwind.
How to spot it
Count the apps installed on your store. If you have more than 12-15, you almost certainly have unnecessary dependencies. Now check: how many of those apps were recommended by your agency? Does the agency earn referral commissions or partner revenue from any of them? Has the agency built custom functionality on top of third-party apps, meaning that removing the app would break custom features?
A particularly insidious pattern is when the agency builds critical functionality using an app's API rather than Shopify's native capabilities. If the app is discontinued, changes its pricing, or the agency loses its partner status, your store's functionality breaks — and fixing it requires the original agency's expertise.
The cost of app dependency
Each unnecessary app adds monthly subscription costs (often £20-£100 per app), additional JavaScript that slows your store, and another potential point of failure. A store with 20 apps running might be spending £500-£1,500 per month on app subscriptions alone, with measurable page speed degradation. This is one reason we build our own Shopify apps — to replace bloated third-party solutions with lean, purpose-built alternatives.
Sign 5: Contractual exit barriers
Contractual lock-in is the most explicit form: the agreement you signed includes terms that make leaving expensive or difficult. But many brand owners do not realise the extent of their contractual constraints until they try to leave.
Common contractual traps
- Long minimum terms — 12-24 month commitments for ongoing services, often with auto-renewal
- Early termination fees — payment of remaining contract value if you leave before the term ends
- IP retention — the agency retains ownership of custom code, requiring a "buyout" to take it with you
- Restrictive handover terms — the agency charges a fee to transfer access, data, or code to a new provider
- Non-compete clauses — restrictions on hiring other agencies or the agency's former employees
If you are unsure about your contractual position, dig out your agreement and read it against the framework in our guide to red flags in ecommerce agency contracts. Pay particular attention to the termination, IP, and handover clauses.
Sign 6: Knowledge hoarding
Knowledge hoarding is the subtlest form of lock-in. It happens when the agency makes themselves the sole repository of critical knowledge about your business, making it difficult for anyone else — including your own team — to operate independently.
Indicators
- The agency manages your SEO strategy but never explains their methodology or shares their keyword research
- They run your email marketing but you do not understand how your flows are configured or why
- They make changes to your store but do not tell you what was changed or why
- Your team cannot perform basic store administration tasks without contacting the agency
- When you ask technical questions, the answers are vague or dismissive
Good agencies educate their clients. They want you to understand your own business systems because informed clients make better decisions, provide better feedback, and have more productive working relationships. An agency that keeps you in the dark is protecting their position, not your interests.
Sign 7: You cannot see what you are paying for
If your monthly retainer invoice is a single line — "Monthly retainer: £2,500" — with no breakdown of hours spent, tasks completed, or outcomes delivered, you have a transparency problem. And opacity breeds dependency: if you do not know what you are paying for, you cannot evaluate whether you are getting value, and you certainly cannot brief a replacement agency on what needs to continue.
What good looks like
A transparent agency provides monthly reporting that includes: hours spent broken down by task category, a list of completed work items, performance metrics (site speed, uptime, conversion rate, organic traffic), and a prioritised backlog of upcoming work. This reporting serves two purposes: it holds the agency accountable, and it creates a transferable record of your store's operational needs.
How to escape agency lock-in
If you have identified lock-in, here is a practical plan for extracting yourself. The key principle is: prepare thoroughly before acting. A poorly planned exit can cause more damage than staying put.
Step 1: Audit your assets
Document every digital asset associated with your brand: domains, hosting accounts, Shopify admin, email marketing accounts, analytics platforms, social media accounts, advertising accounts, payment gateways. For each, note: who owns the account, who has access, and what data it contains. This audit is your departure checklist.
Step 2: Secure account access
Before raising any concerns with your current agency, quietly ensure you have independent admin access to every critical account. Change passwords on accounts you control. If accounts are under the agency's email, request transfers in a non-confrontational way: "We're updating our security practices and need all accounts under our company email." Most agencies will comply without suspicion.
Step 3: Review your contract
Read your contract carefully. Identify: the minimum term remaining, the notice period required, any early termination penalties, IP ownership provisions, and data handover obligations. Calculate the worst-case cost of leaving. Often, paying an early termination fee is cheaper than staying in a bad relationship for the remaining contract term.
Step 4: Download everything
Export your Shopify theme code (you can download this from the Shopify admin under Online Store > Themes > Actions > Download theme file). Export your product data, customer data, and order history via Shopify's CSV export. Download your email marketing templates, flow configurations, and subscriber lists from Klaviyo or your email platform. Save copies of your Google Analytics and Search Console data.
Step 5: Find your next agency
Before terminating with your current agency, have your next provider identified and ready. Share the audit from Step 1 and the exported assets from Step 4. A good agency — like us — will conduct a code review, assess the state of your store, and create a transition plan before you make the switch. Read our guide on collection page SEO to understand the kind of strategic thinking your new agency should bring to the table.
Step 6: Execute the transition
Give formal notice in writing as required by your contract. Be professional and businesslike. Request confirmation of the handover timeline and deliverables in writing. Grant your new agency access to your Shopify admin and other accounts. Once the new agency has access and has confirmed they can maintain the store, revoke the old agency's access.
How to prevent lock-in from day one
Prevention is infinitely easier than cure. If you are choosing a new agency or starting a new project, here is how to ensure you never get locked in.
Own everything from day one
Every account — Shopify, domain registrar, email marketing, analytics, advertising — should be created under your business email and your payment method. The agency gets staff or collaborator access. Never owner access. This is non-negotiable.
Insist on standard technology
Your Shopify theme should use standard Liquid, standard CSS, and standard JavaScript. No proprietary frameworks. No external dependencies hosted on the agency's servers. Any competent developer should be able to read and modify the codebase.
Require documentation as a deliverable
Technical documentation should be a line item in the project scope, not an afterthought. This includes theme architecture documentation, integration specifications, app configuration notes, and a deployment guide. If the agency resists including documentation, ask why.
Negotiate fair contract terms
Use the framework in our contract red flags guide to evaluate and negotiate your agreement. The key clauses: IP assignment to you on final payment, 30-day notice for retainers, no early termination penalties beyond payment for completed work, and a defined handover process at no additional cost.
Minimise app dependency
For every app your agency recommends, ask: "Can this functionality be built natively instead?" Native solutions are faster, more reliable, and create no recurring subscription dependency. The answer will sometimes be "no, an app is the right choice" — but asking the question keeps your app count and your dependencies in check.
Maintain internal knowledge
At least one person in your organisation should understand how your store works at a functional level. They do not need to be a developer, but they should understand the theme structure, know how to update content, understand the email marketing configuration, and be able to interpret analytics data. This person is your insurance against total agency dependency.
Our position on lock-in is simple: we never want a client to stay because they have to. We want them to stay because the work is good. If a brand can walk away from us tomorrow with everything they own, and they choose to stay — that is the only kind of retention that means anything.
Agency lock-in is preventable, and it is escapable. But it requires awareness, preparation, and a willingness to have uncomfortable conversations with your current provider. If you are reading this and recognising the signs, start with the audit. Knowledge of your situation is the first step toward changing it.
If you are looking for an agency that will never lock you in, start a conversation with us. We will explain exactly how we structure our relationships to keep you in control — from day one.