Calculate influencer customer acquisition cost by dividing the campaign's defined costs by the unique new customers whose first completed orders you attribute to it. Count each customer once, remove repeat buyers, and state how you handle refunds and unknown purchase histories. Call the result attributed CAC. It does not tell you how many customers would have bought without the campaign.
Choose the denominator before dividing
These three calculations answer different questions:
| Metric | Denominator | Question it answers |
|---|---|---|
| Cost per completed order | Eligible, distinct orders | What did each retained order cost? |
| Attributed new-customer CAC | Distinct new customers credited to the campaign | What did each credited acquisition cost? |
| Incremental CAC | Estimated additional new customers caused by the campaign | What did each additional acquisition cost? |
Use the second for a customer-acquisition report based on tracked purchases. Keep the first alongside it when repeat orders matter. Use the third only when you have evidence for the additional customers caused by the campaign.
A creator's commission per order is another number. Modash's article on CPA partnerships recommends paying creators for customer conversions. That payment arrangement does not establish your total acquisition cost. A commission can apply to an existing customer, and campaign costs can include more than commissions.
Write down what a completed order means
Use your commerce order records as the reconciliation ledger. A checkout start is insufficient. Google's ecommerce implementation guide treats checkout, purchase and refund as separate events. It also specifies transaction identifiers for purchase and refund tracking. Seeing a purchase event alone does not confirm that your implementation captured a later refund.
For this article's calculation, use the following reporting policy. These are recommended working definitions, not universal platform rules:
- Include paid, fulfilled orders with positive retained merchandise value at the reporting cutoff.
- Exclude canceled, unpaid, test and fully refunded orders.
- Keep partially refunded orders if some merchandise value remains. Reduce their revenue in the profitability report.
- Close the report after the applicable return period, or label it provisional and schedule a refund update.
- Use one currency and a declared order-date range, attribution window and reporting cutoff.
Preserve excluded orders with their exclusion reasons. If a customer's only qualifying order is later fully refunded, remove that customer from this retained-acquisition denominator when updating the report. Keep the original snapshot so readers can explain the change.
For campaigns with preorders or long fulfillment delays, report pending acquisitions separately. Do not silently mix pending and completed orders to make the denominator larger.
Build a customer ledger from the order ledger
Deduplication happens twice. First, collapse duplicate transaction records into distinct orders. Then group those orders by your store's customer identifier.
Pull these fields into a restricted working file:
| Field | Why you need it |
|---|---|
| Order ID and order date | Remove duplicate records and apply the reporting window |
| Payment, fulfillment and refund status | Apply the completed-order policy |
| Stable customer ID | Count a buyer once across orders and creators |
| First store-order ID and date | Establish whether the attributed order acquired the customer |
| Campaign and creator credit | Apply the selected attribution rule |
| History confidence | Separate verified first-time buyers from unresolved records |
Shopify's customer reports documentation defines first-time customers by their first store order. Returning customers already have an order in their history. It also warns that some customer reports use the customer's full order history, including activity after the selected period.
That matters when a new buyer orders twice during your campaign. The second order does not create another acquired customer. Keep their acquisition classification tied to their first order rather than a later label saying they are now a returning customer.
For campaign credit, check the first order itself. Someone who first bought through another channel and later used a creator code contributes a repeat order to this calculation. Their second order should not transfer acquisition credit to the creator.
Use the store's documented identity resolution process for duplicate accounts or guest purchases. Leave unresolved records in an unknown group. A missing earlier order in an incomplete migration is insufficient evidence of a first purchase.
Reconcile attribution before counting customers
Google Analytics defines attribution as assigning credit to touchpoints along a path to an action. Different attribution models can assign that credit differently.
For an order-led report, declare one credit rule before reviewing the result. For example, your internal rule could credit the last recorded creator-link click within seven days of the first order. Seven days is a hypothetical reporting choice here, not a platform requirement. Keep code-only purchases in a separate reconciliation queue if they cannot meet that rule.
Join link tracking, code redemptions and purchase records on order IDs where available. Do not add their totals together. One order appearing in two tracking sources remains one order. One new customer appearing under two creators remains one acquisition for the campaign.
If you choose fractional credit, sum each new customer's assigned campaign share and label the denominator customer-equivalents. Do not describe that total as a count of distinct people. Keep it separate from the whole-customer example below.
Worked example: 100 orders become 50 verified acquisitions
All numbers in the following tables are hypothetical. Assume the report has closed its return window. Campaign credit has been reconciled under one rule, and first-order checks are complete except for the explicitly unknown histories.
| Record reconciliation | Count |
|---|---|
| Purchase records reported by tracking sources | 120 |
| Duplicate order records removed | 10 |
| Distinct orders | 110 |
| Canceled, test or fully refunded orders excluded | 10 |
| Eligible completed orders | 100 |
The retained orders belong to these customer groups:
| Customer group | Unique customers | Orders each | Completed orders |
|---|---|---|---|
| Verified new, one order | 40 | 1 | 40 |
| Verified new, two orders | 10 | 2 | 20 |
| Existing buyers, one order | 10 | 1 | 10 |
| Existing buyers, two orders | 10 | 2 | 20 |
| Unknown earlier purchase history | 10 | 1 | 10 |
| Total | 80 | Mixed | 100 |
The verified new groups have campaign-attributed first orders. Their additional orders contribute sales, but do not increase acquisitions.
Use a declared cost scope. This example charges all campaign costs to acquisition rather than making an unsupported allocation between acquisition and retention:
| Hypothetical campaign cost | Amount, USD |
|---|---|
| Creator fees | $3,600 |
| Commissions | $900 |
| Gifted inventory at cost and creator shipping | $500 |
| Allocated campaign labor and software | $1,000 |
| Total | $6,000 |
This is a campaign-cost measure, not company-wide fully loaded CAC. It excludes other marketing programs. Use a complete campaign cost ledger to define shared-cost allocations and keep discounts consistent with the revenue treatment.
| Hypothetical calculation | Result |
|---|---|
| $6,000 / 100 completed orders | $60 per order |
| $6,000 / 80 distinct buyers | $75 per buyer, including repeat and unknown buyers |
| $6,000 / 50 verified new customers | $120 attributed CAC |
Reporting $60 as acquisition cost would treat repeat orders and existing buyers as new acquisitions.
Show the uncertainty without inventing lift
The ten unknown histories change the denominator. If all ten are existing customers, verified acquisitions remain 50. If all ten are new and their qualifying orders are first orders, acquisitions become 60.
| Hypothetical history resolution | Acquisitions | Attributed CAC |
|---|---|---|
| All unknown buyers are existing | 50 | $120 |
| All unknown buyers are new | 60 | $100 |
Report "$120 per verified new customer; $100 to $120 conditional on resolving ten purchase histories." This is a sensitivity range, not a confidence interval. It assumes the cost ledger, identity matching and campaign attribution are otherwise correct. It does not cover missing customers or attribution errors.
Neither endpoint is incremental CAC. Google's Conversion Lift documentation describes controlled comparisons between treatment and control groups to estimate additional conversions. Its product is specific to Google Ads and unavailable to some accounts. Public organic creator posts require a separate study design; they do not acquire a valid control group through better tracking alone.
If you need a causal budget decision, plan how to measure incremental impact when attribution is incomplete. Measure additional new customers, since lift in all orders would still include repeat purchases. Without that evidence, leave incremental CAC unmeasured.
Before sending the report, reconcile the unknown histories and save the order-level exclusions. Then write the campaign decision using the verified CAC, its cost scope and its remaining uncertainty.



