A marketing agency contract for an ecommerce brand needs five terms in writing: you own every ad, email and store account; you can exit on 30 to 60 days' notice; deliverables are named; reporting has a fixed cadence; and you own the creative you pay for. One guide calls 30 days' notice standard and 90 days aggressive.
This guide is practical, not legal advice. Have a lawyer review any contract before you sign it.
Most contract guides stop at "make sure you own your accounts." Below, we show what ownership looks like inside Meta, Klaviyo and Shopify, using their own documentation, so you can check it yourself.
| Clause |
What good looks like |
Red flag |
| Meta ad account |
Owned by your business portfolio; agency added as a partner |
Agency creates or claims the account |
| Klaviyo account |
You hold the single Owner role; agency is Admin, Manager or a custom role |
Agency is Owner |
| Shopify access |
Agency uses a collaborator account |
Shared staff login or your password |
| Pixel, datasets, audiences |
Created in your portfolio, shared to the agency |
Built in the agency's portfolio |
| Ad spend billing |
Your payment method, in your account |
Spend billed through the agency with a markup |
| Term |
Short first term, then rolling monthly |
12 months with no performance exit |
| Notice period |
30 to 60 days |
90 days or more |
| Deliverables |
Counted monthly list in a statement of work |
"Ongoing optimization" |
| Response times |
A number for questions and for urgent fixes |
Not mentioned |
| Reporting |
Fixed cadence, revenue and margin first |
Opens, reach and impressions only |
| Creative and copy IP |
Assigned to you on payment; raw files included |
Agency keeps ownership or licenses it back |
| Exit and handover |
Access removed, exports and documentation within a set number of days |
No handover clause |
Your business should. The agency should access it as a partner.
Meta's developer documentation draws the line clearly. Each business has an access_type of either OWNER or AGENCY for an ad account. Meta adds that "Most marketing companies won't need to claim ad accounts from their clients," and that once an account is claimed, "you can only manage the ad accounts in that Business Manager."
The normal flow runs the other way. An agency's business requests access to an ad account or Page owned by another business, and the asset's admins accept it. The owner can remove that agency later. Meta also notes "You cannot grant access to assets of which you are just an AGENCY," which means only the owner controls who else gets in.
Contract wording to look for: "All advertising accounts, pages, pixels, datasets and audiences are created in and owned by Client's business portfolio. Agency receives partner access only."
Give the agency the level the job needs. Meta's ad account tasks map to three roles:
- Reporting only: "Can see data on ad performance."
- General user: "Can see and edit ads and create ads using the funding source associated with the ad account."
- Admin: "Can manage all aspects of campaigns, reporting, billing and ad account permissions."
An agency running your ads needs General user at minimum. Admin is reasonable if they manage tracking and permissions, but it includes billing. If you grant Admin, keep at least two people from your own team as admins too, so access never depends on one person.
Keep the payment method on the ad account in your name. That keeps spend visible in your own records and avoids markups. Clutch notes ad spend is billed separately from agency fees, and your contract should say so. Our Meta ads agency pricing post covers how fees relate to spend.
Who should own the Klaviyo account?
You should hold the Owner role. Klaviyo states that an account can only have 1 Owner, and that only account Owners can transfer ownership. Klaviyo will not start a transfer without the current Owner's approval. If an agency set up your account as Owner, you depend on it to hand control back.
Give the agency a role that fits the scope:
- Admin can add or delete users and edit account details, but cannot fully close the account.
- Manager can run core features, but cannot edit users or export recipient activity.
- Campaign Coordinator can build and send campaigns and edit flow content.
- Custom roles let you combine permission sets when a static role gives too much or too little access.
For a full build, Admin is common. For campaign work only, a narrower role is enough. Our Klaviyo agency guide and Klaviyo agency pricing post cover what each scope includes.
How should a Shopify agency access your store?
Through a collaborator account, never a shared login.
Shopify describes collaborators as "Shopify Partners who you've allowed to access your store". Four details matter for your contract:
- Collaborators do not count toward your store's user limit.
- The partner needs a request code from you, so nobody can request access uninvited.
- You cannot give a collaborator the Administrator store role.
- You can permanently remove a collaborator at any time from Settings, then Users.
Write the permissions into the statement of work. A CRO agency needs themes and online store access. It does not need payouts or customer exports. Ask for the minimum, then add if a task requires it.
This also helps at exit. One click removes access, and there is no password to rotate. For what a CRO engagement should deliver, see Shopify CRO agency cost.
What notice period and termination terms are fair?
Look for a short first term, then a rolling month with fair notice.
The same contract guide rates 30 days' notice as standard, 60 as acceptable and 90 as aggressive. It recommends a 6 month out if an agency requires 12 months. AgencyAnalytics notes retainers usually run a minimum of three months.
Engagements often end early. In SparkToro's 2025 survey, 25% of agencies said they work with clients for less than 12 months. Plan your exit terms on day one.
Check four termination points:
- For convenience: either side can end with notice, no reason needed.
- For cause: a shorter path if deliverables are missed after written notice and a cure period.
- Fees on exit: you pay through the notice period, not the remaining term.
- Work in progress: what happens to half-finished projects and prepaid fees.
A trial month can avoid the long-term question entirely. See retainer vs project pricing.
What deliverables and response times belong in the contract?
Name them and count them. "Ongoing optimization" is not a deliverable.
A statement of work for email should list campaigns per month, flows built or updated and tests run. For paid, list new ad concepts per month, budget reviews and tracking checks. For CRO, list tests launched and pages rebuilt.
Then add response times. Pick numbers your team and the agency can both live with, then write them down. One for routine questions. One for urgent issues, like a broken checkout link in a live campaign. One for peak periods such as BFCM.
Also name the team. List the strategist, the day to day lead and the specialists, and how much notice you get before anyone changes. This is the simplest guard against a senior pitch team handing the account to someone you never met. Our red flags guide covers that pattern.
Finally, add a quarterly review where scope can rise, fall or end without renegotiating the whole contract.
How often should the agency report, and on what?
Set the cadence and the metrics in the contract. A common pattern is a short weekly update and a monthly report with a call.
Lead with revenue and margin. For email: flow and campaign revenue, revenue per recipient and email's share of store revenue. For our top clients, email is 35 to 40% of revenue. Our email revenue benchmarks give comparison points.
Treat open rates with care. Klaviyo says Apple Mail Privacy Protection "artificially inflates your open rates". A report should never use opens as the headline.
For paid: spend, new customer CAC and blended return from Shopify, alongside platform ROAS. Write in that the agency explains large gaps between the two.
Add one more line. Reports and dashboards built on your data belong to you and stay accessible after exit.
Who owns the creative and copy?
You should, once you have paid for it. Get that in an explicit assignment clause.
Many contracts lean on "work made for hire." US copyright law is narrower than people assume. The Copyright Office explains that a commissioned work from an outside contractor is made for hire only if it fits one of nine categories and both parties sign a written agreement. If it does not qualify, "it is not a work made for hire." That is why many contracts add a written assignment of rights on payment.
Cover these points:
- Deliverables: ad creative, email templates, copy, landing pages and raw files, including layered design files and video project files.
- Third-party assets: stock images, music, fonts and creator content are licensed, not owned. The contract should list the license terms and usage period, especially for UGC.
- Agency tools: the agency keeps its own templates, frameworks and software. You get a license to use what is in your accounts.
- Portfolio use: whether the agency can show your work publicly.
What should happen at exit?
Write the handover into the contract before you need it. Include:
- Access removal on the last day, by you, across Meta, Klaviyo, Shopify and any analytics tools.
- A handover document: flows and their logic, segments, active tests, ad account structure, creative in production and open issues.
- File delivery: all creative and copy source files.
- Data exports: key Klaviyo segments exported before access ends.
Know the export limits. In Klaviyo, only Owner, Admin or Analyst roles can export lists or segments. Event data and the messages a profile received are not included in a list export. That is one more reason to own the account itself, so the history stays with you.
A clean exit also makes the next hire faster, whether that is another agency, a freelancer or an in-house lead. Our agency vs in-house guide helps with that choice, and our questions to ask before hiring cover what to confirm on the first call.
Use the checklist table at the top of this guide on every contract. For the full hiring process, see how to hire an ecommerce marketing agency. If you want to walk through a contract with us, you can book a call at /contact.