To assess your store’s marketing, compare advertising costs with completed orders, revenue after discounts and returns, and the cost of goods sold. Visits and orders created can help you find problems in the path to purchase, but you need to calculate financial results from actual sales.
Start with a shared table for your online store and physical locations. Record the period, the rules for attributing sales to advertising, and the order status you count as completed. Then calculate all seven metrics using the same rules so that changes in your bookkeeping do not look like an improvement or decline in advertising performance.
Prepare data you can compare
For practical management calculations, use these definitions:
- Completed order: the customer received the product and the store confirmed payment. Track order creation, clicking the payment button, and shipping separately.
- Orders after returns: exclude fully returned orders from the number of completed orders; count a partially returned order as one order and reduce its revenue.
- Revenue after adjustments: actual sales after discounts, minus returns. In the rest of this article, we call this adjusted revenue.
- New customer: someone who made their first completed purchase from your store. If they bought in person before, their first online order does not make them a new customer for the business.
- Variable costs: costs of fulfilling orders, such as packaging, payment processing fees, and delivery paid by the seller. Also include costs incurred for canceled and fully returned orders in the relevant campaign, if the store incurred them and was not reimbursed. Excluding such an order from the number of purchases does not remove those costs. We show cost of goods sold and advertising separately in the calculations below.
Use a consistent approach to taxes, delivery, and fees. If you include an amount in revenue, include the related costs in the calculation too. Do not subtract the same fee twice: once when calculating revenue and again as part of variable costs.
To analyze a specific campaign, it is useful to group orders created during the selected period and wait until they are completed or canceled. If some parcels are still in transit, mark the result as preliminary. For ongoing financial monitoring, track sales and returns separately by the dates they are recorded in your books. These two approaches answer different questions, so do not combine them in the same row.
Seven metrics: what to calculate and what action to take
The formulas below are a recommended framework for management analysis. They require consistent store data, and metric names and values in advertising dashboards may differ. If a formula’s denominator is zero, the metric is undefined. Mark it as “not calculated” in your table and show actual costs and sales separately so you can see the result even when there are no orders or new customers.
| Metric | Formula or assessment method | Practical action | Data source |
|---|---|---|---|
| 1. Visits and conversion to completed order | Completed orders ÷ visits × 100%. Analyze visitor intent in separate groups. | Check whether the ad matches the product, whether it is in stock, how checkout works, and why orders are not completed. | Web analytics and order statuses. For product actions in GA4, configure ecommerce events. |
| 2. Completed orders and adjusted revenue | Number of completed orders after full returns; sales after discounts, minus returns. | Check whether actual sales are growing along with the number of inquiries. | Determine completed orders from statuses and unique order numbers. In Torgsoft, use Sales Analysis by Product Type to verify sales and return amounts. |
| 3. Average completed order value | Adjusted revenue ÷ completed orders. | Review the purchase mix and the results of discounts and bundled offers. | Revenue and order count from the same bookkeeping sample. |
| 4. Cost to acquire a new customer | Acquisition costs ÷ new customers. Also calculate cost per completed order: advertising costs ÷ completed orders. | Compare customer acquisition costs with how much purchases contribute toward covering business costs. | Advertising costs and history of completed purchases. |
| 5. ROAS | Revenue attributed to advertising ÷ advertising costs. | Before changing the budget, check cost of goods sold, returns, and sales attribution rules. | Advertising costs and the agreed revenue for the corresponding orders. |
| 6. Contribution after variable costs and advertising | Adjusted revenue − cost of goods sold − other variable costs − advertising. | Assess the amount left to cover fixed and other costs. | Sales and cost of goods sold records, order fulfillment costs, and advertising. |
| 7. Contribution-based marketing ROI | Contribution after variable costs and advertising ÷ advertising costs × 100%. | Compare campaigns using the same cost categories and check the result before increasing the budget. | The same consistent data used for the previous metric. |
1. Assess visits together with conversion
First identify what kinds of visitors your advertising brings in. Analyze visits from searches for a specific product, category views, and visits to informational content separately. People with different intentions may buy at different rates, so an overall conversion rate without this breakdown tells you little.
For an online store, use sessions (site visits) as the denominator and apply this rule consistently in all comparisons. Do not substitute ad clicks or the number of users for sessions. The formula “orders ÷ sessions” shows orders per visit; if a session can include several orders, it will differ from the share of sessions that include a purchase.
Product actions can help you assess interest: viewing a product page, adding an item to the cart, or starting checkout. However, do not remove visits without these actions from the overall denominator: that would artificially raise conversion. Analyze them separately to check the ad and landing page.
At a physical store, you can separately count purchases per visitor using counter data, after setting rules for staff and repeat visits. Do not add store visitors to website sessions. If someone orders online and picks up the product at the store, count one order and record the fulfillment method separately.
2. Check completed orders and revenue after returns
Each week, compare orders created, completed, canceled, and returned. If more orders are being created but completed purchases are not increasing, check product availability, delivery times, payment terms, and reasons for refusal.
The number of completed orders shows purchase volume, while adjusted revenue shows their monetary value. Review both figures: a discount can increase purchases while reducing revenue or contribution after costs. Attribute returns to the relevant orders so you can assess advertising results after subsequent adjustments.
3. Calculate average order value using the same order sample
Average order value, or AOV, is adjusted revenue divided by the number of completed orders. The numerator and denominator must cover the same stores, channels, and period.
When testing bundles or an additional-product offer, also look at cost of goods sold and discounts. A higher average purchase value does not necessarily mean the store has more money available to cover its costs. Compare contribution after variable costs before and after the offer change.
4. Separate the cost of a new customer from the cost of an order
Customer acquisition cost, or CAC, is calculated using people who made their first completed purchase. Repeat orders from those people do not increase the number of new customers.
The meaning of CPA (Cost per Acquisition) depends on the action you choose to calculate it for. In this article, we use CPA per completed order. Always specify what it measures: the cost per inquiry, created order, and completed purchase will all differ.
Also state which costs are included. If the numerator contains only the advertising budget, you have CAC based on advertising costs. For a broader assessment of acquisition, add the relevant share of ad preparation and contractor costs. Do not compare these calculations without explaining the difference.
5. Use ROAS with a consistent attribution rule
ROAS (Return on Ad Spend) shows how much revenue attributed to advertising comes from each hryvnia spent on advertising. It does not include cost of goods sold or other expenses, so it does not determine profitability by itself.
Attribution is the rule used to link a sale to an advertising interaction. Record which interaction you count and how long after it a purchase can still be attributed. Use the same window and rules when comparing campaigns. Check new and repeat customers separately: an ad may accompany a purchase by someone who already knows the store.
Do not simply add up revenue claimed by different advertising platforms without checking it. The same purchase may appear in several reports. Match orders by unique numbers and allocate them according to your chosen rule. For offline sales, record the available source, such as a campaign code; if there is no reliable connection, leave the source unknown.
6–7. Calculate contribution after costs and ROI with a clear denominator
First subtract the cost of goods sold, other variable costs, and advertising costs from adjusted revenue. The result shows how much remains to cover rent, the fixed portion of payroll, and other business costs. It is not net profit.
In the framework proposed here, ROI (Return on Investment) is calculated by dividing this contribution specifically by advertising costs and multiplying by 100%. Call it contribution-based marketing ROI so that report readers understand the limits of the calculation. If you also include contractor fees or content creation in marketing investment, include those amounts both in the expenses deducted and in the denominator.
Under this formula, 0% means adjusted revenue covered the included cost of goods sold, variable costs, and advertising. A positive value shows what remains after those costs; a negative value shows a shortfall in covering them. Even a positive result needs to be checked against the rest of the business’s costs.
Worked example: one data set for all metrics
All figures below are fictional and provided only to explain the calculations. Suppose a store spent UAH 3,000 on a campaign and received 1,000 website sessions. Under the chosen rule, 50 orders created were attributed to this group of visits. After fulfillment was completed and returns were accounted for, 40 completed orders remained, including purchases by 30 new customers.
Adjusted revenue from these 40 orders is UAH 20,000, the cost of goods that remained sold is UAH 12,000, and other variable costs are UAH 2,000. In this example, all this revenue is attributed to the campaign under one consistent rule. Only the advertising budget is included in acquisition costs.
| Metric | Calculation | Result |
|---|---|---|
| Conversion to completed order | 40 ÷ 1,000 × 100% | 4% |
| Completed orders and adjusted revenue | Summary of the consistent sample | 40 orders; UAH 20,000 |
| Average order value | 20,000 ÷ 40 | UAH 500 |
| CAC based on advertising costs | 3,000 ÷ 30 | UAH 100 per new customer |
| CPA per completed order | 3,000 ÷ 40 | UAH 75 per order |
| ROAS | 20,000 ÷ 3,000 | Approximately 6.67 |
| Contribution after variable costs and advertising | 20,000 − 12,000 − 2,000 − 3,000 | UAH 3,000 |
| Contribution-based marketing ROI | 3,000 ÷ 3,000 × 100% | 100% |
Using orders created, the ratio would be 50 ÷ 1,000 × 100% = 5%, but that is a different metric. To assess fulfillment, it is also useful to calculate 40 ÷ 50 × 100% = 80%: under the rules used, that share of created orders ended in a purchase.
A ROAS of 6.67 means approximately UAH 6.67 in attributed revenue per hryvnia of advertising. After the included costs, UAH 3,000 remains to cover the store’s other expenses. The 100% ROI in this example describes only the calculated contribution. It does not prove that advertising caused all these sales: to assess incremental impact, you can run a controlled test with comparable groups.
Configure GA4 and reconcile it with your records
Google Analytics 4, or GA4, requires ecommerce events to be sent from your website or app. According to Google’s documentation, these events are generally not collected automatically, although some platforms have ready-made configurations. Check that product views, add-to-cart actions, checkout starts, purchases, and return data are being sent. Also check the required parameters for each event: Google warns that without them, the system will process it as a custom event that will not appear in the ecommerce purchases report.
Agree on when the website sends the purchase event. If it fires when an order is created, the number of these events will not equal the number of completed purchases. For financial metrics, reconcile these records with statuses in your bookkeeping.
Send a unique transaction_id for each order. Google explains that it is needed to remove duplicate purchases from data and process returns correctly. Deduplication by this ID works for web streams, but not for app streams. Do not use a blank or identical number for different orders.
Do not confuse the number of product units purchased with the number of orders. In GA4, event data and item data have different scopes, and Item revenue in the item report excludes taxes and shipping. Before comparing amounts, check exactly what each metric includes.
- Match order numbers in web analytics and bookkeeping; find missing and duplicate records.
- Check discounts, partial and full returns, and delays between order placement, payment, and receipt.
- Reconcile payments with bank deposits and accounting records, taking fees and transfer timing into account separately.
- After corrections, update the metrics and document the reasons for any discrepancies.
Use technical order numbers and aggregated data for analytics. Do not upload names, phone numbers, email addresses, or other information that identifies a customer in standard analytics events and parameters. Google specifically states that transaction_id must not contain such information.
How to check sales, returns, and cost of goods sold in Torgsoft when assessing advertising
In Torgsoft, use “Аналіз реалізації за видами товару” (Sales Analysis by Product Type). Select a period and accounting center; in “Налаштування відображення” (Display Settings), enable sales amounts, return amounts, the cost of goods sold, and the cost of returned goods. If automatic refresh is disabled, click “Оновити” (Refresh) after changing filters. Note: if you select a leaf product type with no child types, the form will be empty; go back to the parent type to view the data. According to the documentation, “Виторг” (Revenue) equals total sales minus total returns for the period. To calculate contribution, also subtract the cost of returned goods from the cost of sales for the same sample. First check purchase data and how returns are recorded in the system.
You can export the report to Excel. For a working marketing table, use summary totals by category, period, and accounting center, and add advertising costs and sales attribution rules separately. This lets you calculate contribution after costs for the relevant sample, if sales can be reliably matched to a campaign. To check how sales are distributed over time, use “Аналіз інтенсивності продажів” (Sales Intensity Analysis): it lets you select a period, accounting center, and product type, and display the number of product units, the number of receipts, or the monetary value of the goods. The comparison can help you form a hypothesis for the next test. These reports alone do not establish which advertising caused a purchase; this workflow also does not provide for automatic data exchange with GA4.
Turn your weekly review into specific actions
- More visits, but the same number of completed orders: check audience intent, whether the ad matches the landing page, and whether advertised products are in stock.
- More orders created, but a lower completion rate: group cancellation, refusal, and return reasons, then address the most common confirmed problem.
- Average purchase value increased, but contribution fell: check the cost of the product mix, discount depth, and fulfillment costs.
- ROAS increased, but there are few new customers: assess repeat purchases and CAC separately before increasing the acquisition budget.
- Contribution after advertising is positive: compare it with the rest of the business’s costs and test any budget change on a small scale.
After each change, record what you are checking, which metric you expect to change, and when you will finish the assessment, taking order fulfillment and returns into account. This log will help you distinguish the effects of specific decisions from seasonal fluctuations and changes in the sales mix.








Go back to the previous step