7 Ways to Evaluate and Improve Digital Marketing

Marketing Performance Marketing Strategies

How can you evaluate the effectiveness and increase the return on investment (ROI) of your online advertising? How can you know how much revenue is generated by SEO traffic, mobile apps, and media ads? These questions are relevant to many online and omnichannel businesses. In this article, we describe solutions from OWOX BI that have helped our clients find answers to these and other questions and solve their business problems.

We succinctly describe how we’ve helped our clients do these seven real-world cases below. If you’re interested in technical details or want to try some of the things we mention in your own project, try OWOX BI for free. 

OWOX BI collects data from multiple systems in a single repository and builds reports that help customers improve their marketing intelligence. The goal is to do it quickly, with a high level of quality, and with maximum automation so businesses can make more money using the data they already have.

Improve campaign targeting through user segmentation

Segmenting users to better target advertising campaigns is a basic task that can and should be addressed at the initial stages of implementing marketing analytics.

Client’s goal: Increase the ROI of advertising campaigns that aim to reactivate users who have already visited the site. In theory, these users should not be expensive to market to because they’ve already shown interest.

Client’s challenge: Improve the targeting of advertising campaigns for abandoned shopping carts and lapsed customers. These are people who have performed a certain set of actions on the site but haven’t bought anything. At the same time, our client believes they could buy something.

Our hypothesis: If we select a segment of website visitors who have added an item to the cart in the past X days and show them advertising, they’re more likely to buy something than are visitors from other segments. Accordingly, by advertising to this segment we can increase revenue while maintaining the same cost revenue ratio (CRR).

Technical task and solution

User segmentation is always required to test hypotheses. We can assume that selected user segments will behave one way or another after seeing an ad, but there’s no 100% guarantee that will be the case.

Our client defined the conditions according to which segments were formed. After forming segments according to those conditions, we transformed our hypothesis into a technical task for our analyst. This task was divided into stages.

Stage 1. Form two user segments. The first segment consisted of users who added an item to the cart in the last X days but didn’t buy anything. The second segment consisted of users who carried out some set of actions on the site (that were defined by the client).

Google Analytics samples customer data in response to heavy traffic. Therefore, to build the segments, we used raw data from our client’s site transmitted to Google BigQuery using OWOX BI Pipeline. BigQuery is a cloud storage service that allows you not only to collect information but to process it conveniently using SQL.

OWOX BI collects user behavior data on a website in parallel with Google Analytics and transmits it to BigQuery without sampling. This greatly enhances business opportunities. For example, by collecting data with OWOX BI, you can combine parameters in a single report that exist in different scopes in Google Analytics. You can use OWOX BI to add information to BigQuery from any system, such as your CRM.

Our analyst wrote SQL queries to form the segments using raw website data. These segments contain Google Client ID data, which can be used in the Google Ads.

Stage 2. Automatically transfer the segments to Google Ads so advertising specialists can use them in setting up advertising campaigns.

OWOX BI has an automatic data pipeline that takes segments from Google BigQuery, calculates data for them daily, and uploads that data to Google Analytics. Segments from the web analytics system can be natively exported to Google Ads.

Stage 3. Our client’s specialists set up rules in advertising services that raised the rates for these segments.


Our client reconfigured the audience in their campaigns, which had already worked for retargeting, sifted out users who didn’t fall into the right segments, and focused the budget on users in their chosen segments.

As a result, with the same campaigns and the same investment, ROI increased by 100% to 150% (there were many campaigns, so the indicator is averaged). In fact, the costs of this decision were minimal, and the efficiency was quite tangible. These campaigns are still working today. We haven’t received any feedback from our client that this increase was only temporary.

Read more about user segmentation in our article:


Calculate campaign ROI based on real sales

When we start working with a project, the first task is to calculate the ROI on real earnings.

By default, Google Analytics can only see sales from the site, but that doesn’t really reflect the money that comes into a business’s accounts.

We know that some online orders aren’t completed or are changed during order confirmation. Users might:

  1. Simply not complete the order
  2. Change their order over the phone, thus changing the order amount
  3. Order delivery to a physical store but not pick up the purchase

As a result, the business doesn’t receive the amount that appears in Google Analytics. Therefore, it isn’t quite correct to calculate revenue based on data in Google Analytics. It’s necessary to assess the effectiveness of online advertising taking into account real sales data from your CRM.

Client’s goal: Increase the ROI of advertising campaigns at a fixed CRR without increasing costs.

Client’s challenge: Redistribute the advertising budget based on the actual sales generated by advertising sources. Simply put, you need to shift your budget from channels that don’t generate enough ROI to more efficient ones.

Our hypothesis: If you calculate ROI based on purchases (and ideally, even on margins), you can adjust your marketing strategy and invest in those sources of traffic that bring more revenue. Accordingly, the ROI of advertising campaigns will increase.

Technical task and solution

Our client had already collected unsampled data in Google BigQuery using OWOX BI. But it was necessary to supplement this data with data on sales from the company’s internal system. The task was implemented in five stages.

Stage 1. Correctly set up the transfer of order data from the site to the client’s CRM system. Transfer Transaction ID and Google Client ID.

A Transaction ID is formed when an order is placed on the site and is sent to Google Analytics and BigQuery along with the corresponding Client ID. It’s important to transfer both IDs to the CRM in parallel so you can link the user with the transaction and the payment.

Stage 2. Set up User ID generation on the side of the client’s CRM and send the User ID to Google BigQuery during checkout.

A User ID is generated by the CRM system when information about a new client is written to it. For example, say someone makes a purchase in a store and the cashier asks for their phone number and enters it in the CRM. The system then assigns this user a unique identifier. In the future, when the user authorizes on the site using a phone, the CRM recognizes them.

Google Analytics has a User-ID feature. Our developers configured it so that when customers authorize or place an order on our client’s site, the User ID is sent to the site in DataLayer. From there, it’s transmitted to Google Analytics and Google Big Query.

Thanks to this, you can associate the actions of users authorized on the site with detailed information about them. For example, your CRM can store a person’s name, phone number, and email. With an intermediate User ID key, you can combine site and CRM data as well as payment data for a specific order.

Stage 3. Configure uploading of actual sales data from your CRM to Google BigQuery in the structure you want to work with. For this purpose, we formed a technical assignment and handed it over to our client’s developers to implement.

Stage 4. Combine all data in BigQuery into a single table. Our analysts wrote an SQL query that links online order information to CRM data about completed orders and their amounts. The keys for combining this data were Transaction ID, User ID, and Client ID.

As an additional key, you can use an email address or a user’s phone number. This data can’t be transmitted to Google Analytics, but it can be transmitted to Google BigQuery using OWOX BI. Google BigQuery possesses all the necessary security certificates to store personal data.

Stage 5. Build a report in Google Data Studio that shows ROI for traffic sources, taking into account the goods purchased in orders. We calculated ROI based on marginal costs.

Solution characteristics

Setting up the correct transfer of data from the site to the CRM as well as downloading CRM data to Google BigQuery requires the involvement of developers on the business side, which often greatly delays the process.


We provided our client with a traffic source performance report based on data for actual sales.

This report is used by top managers to make strategic decisions as well as by contextual advertising specialists to manage the budget for specific advertising campaigns.

Here’s an example of this report:

Report based on actual sales

Want to know how effective your ads are based on real sales data in your CRM? Try OWOX BI for free and see how it can help to achieve your goals.


ROPO: Analyze the effectiveness of online marketing taking into account offline sales

The third solution our customers come to after building the basic reports described above is ROPO analysis (research online, purchase offline). It shows the impact of digital marketing on sales in physical stores. This is especially relevant for omnichannel e-commerce projects.

People look at goods on a site and check them out in the store for various reasons, from mistrust of purchases on the internet to a desire to touch the product.

During annual budget planning, a CMO wants to get more money for online channels because they understand that some sales attributed to online advertising happen offline. If the CMO can measure this effect at least partially, it will be a good argument for raising the budget.

Client’s goal: Prove the need to increase the budget for online marketing and demonstrate the hidden value of investments in online advertising.

Client’s challenge: Analyze the effectiveness of online advertising, taking into account its subsequent impact on offline sales.

Our hypothesis: Some users get acquainted with a product on the site but buy it in a physical store. That is, online campaigns remain undervalued. If we track visits to the site and further purchases by these users in physical stores, we can measure the true value of digital advertising.

Learn more about ROPO and how to analyze it in our article


Technical task and solution

To link a user’s activity on the site to their subsequent purchases in offline stores, we mostly did the same thing we did to analyze ROI based on completed orders (detailed in the previous section):

  1. Set up the User ID on the CRM side and send it to Google BigQuery.
  2. Configure the Client ID so it’s passed correctly to the CRM and BigQuery.
  3. Set up data transfer for the User Phone and User Email fields from the site to BigQuery and the client's CRM during checkout.
  4. Set up data uploading from the client’s CRM to Google BigQuery. Unlike in the previous case, this upload contains not only online orders but orders from retail stores.
  5. Write an SQL query that links activity data on the site to information from the CRM. The keys for linking data to offline sales are User ID/User Phone/User Email.
  6. Build a report in Google Data Studio to analyze the ROPO effect.

The scheme for combining data looks like this:

scheme for combining data

Solution characteristics

You can link online users to offline sales only if a user makes a purchase on the site or is authorized on the site.

As practice shows, the share of authorized users is about 5% of all website visitors. The more authorized users you have, the more representative the data will be in your reports. But even at 5% to 10%, it’s possible to draw some conclusions that can lead to serious changes in how you manage your marketing budget.

Another difficulty is keeping track of data quality when you’ve already set up all the integrations. Make sure data is transmitted correctly and that the identifiers match so future changes in the CRM system don’t break what you’ve configured. This is a question of how good your client’s IT team is.


After measuring the ROPO effect, the ROI of our client’s advertising campaigns increased by 50% to 150%. It’s worth noting that in such cases ROI always shows growth because revenue is added that was generated by online campaigns but received offline.

Example of what a ROPO report might look like:

ROPO dashboard

This report allows a customer to analyze data in the following categories:

  • Revenue from online only
  • Revenue from offline only
  • ROPO revenue
  • Source/medium/campaign revenue online only
  • Source/medium/campaign revenue including subsequent offline sales
  • Online and ROPO revenue by product category and subcategory
  • Online and ROPO revenue by city
  • Time from site visit to ROPO purchase in days
  • Number of sessions on the site prior to ROPO purchase
  • And many others

Want to know how your online efforts affect offline sales? Try OWOX BI for free and see how it can help achieve your goals.

Analyze SEO traffic efficiency

This is a rather complex and atypical task, albeit interesting. SEO optimization has a delayed effect, and it’s often difficult to assess the effectiveness of work done, for example, over the last six months. Especially if it’s a huge site.

In general, we know how many users come through Google search and can even exclude brand traffic. But how many users come precisely because categories and subcategories were optimized or texts and titles were well-written?

Let’s say you spent $10,000 on SEO last quarter. How much revenue did you get within six months from that money?

Client’s goal: Evaluate the effectiveness of SEO investments, taking into account not just online orders but actual payments.

Client’s challenge: Build a report that shows the effectiveness of SEO by product category. This report should be based on actual sales.

Our hypothesis: We know which keywords were pumped and on which pages. We know the position in SEO drop-out on these keys. We know the sales from these pages that have search traffic as the source. If we link this data, we’ll get sales from those keywords that are in the SEO drop-out TOP. That is, we can measure the effectiveness of investments in SEO.

Technical task and solution

Stage 1. Upload all necessary information to Google BigQuery:

  • Raw user behavior data collected by OWOX BI on the site
  • Data from Google Search Console on top keywords that led traffic to the site as well as to landing pages. Why did we use Search Console? Because in the position measurement service, we see only hypothetical traffic that could come from these keywords.
  • Data from the site position measurement service in an organic drop-out (for example, Allpositions). This allows us to determine which positions keywords had. If keywords are, say, below fifth place in the drop-out, we can exclude them from the analysis.
  • Actual sales data from the CRM system

Stage 2. Based on the URLs, create clusters of keyword queries in the landing pages section. We analyzed not one URL but URLs for entire categories of goods. For example, for small household appliances, we can watch blenders and then Braun blenders.

Stage 3. Find the keywords through which SEO traffic came to the site by measuring positions in the drop-out. We uploaded the results to GBQ and sorted the requests below a certain position.

Stage 4. Using an SQL query, link user activity data on the site to actual sales data from the CRM.

Stage 5. Highlight sessions that led to transactions with an SEO source (using the last non-direct click attribution model).

Stage 6. Highlight the landing pages of these transactions and associate them with the SEO keywords that brought traffic to these pages.

Stage 7. Build a report that shows how SEO optimization of certain pages affects actual traffic and purchases on these pages.

Solution characteristics

Google Search Console allows you to upload up to 5,000 lines of data. Accordingly, we cannot analyze all keyword requests that lead traffic to the site.

For example, we can look at the effectiveness of keywords in a certain cluster of pages. Let’s say there were 100 keywords, of which 50 were in the top, and of these 50 we know that 30 represent the traffic that got into the Search Console offload. We assume there was also traffic for other requests, only the service didn’t give us this information.

There’s no way to measure with 100% accuracy which keywords drove traffic to the pages we analyzed. Therefore, at the start of the analysis, we accepted as a given that our results would have a certain degree of error.


We provided our client with a report that allows them to analyze the effectiveness of SEO activities for a certain period. The efficiency analysis was based on actual sales, so it was possible to count the ROI of SEO traffic.

Do you want to build a report that shows the efficiency of SEO traffic? Try OWOX BI for free and see how it can help you achieve your goals.


Assess the effectiveness of mobile applications

Recently, this task has become very urgent. Probably half of all internet traffic and a large part of sales go through mobile devices. Many of our customers use mobile applications in parallel with online and offline applications. When you buy traffic from mobile devices, you want to understand its effectiveness.

Client’s goal: Evaluate the efficiency of attracting traffic through paid sources (Google Ads) to promote mobile app installs and sales within the app.

Client’s challenge: Build a report that shows the efficiency of traffic sources in terms of key conversion actions (installations, registrations, transactions, revenue).

Our hypothesis: By linking raw data from AppsFlyer (installations, user actions, traffic sources, revenue) with cost data from Google Ads, we can build a report that shows the ROI of advertising campaigns in terms of relevant transaction actions.

Technical task and solution

  1. Using OWOX BI, upload raw data on in-app user behavior from AppsFlyer to BigQuery and upload information about installation sources, subsequent transactions, and revenue from the app to GBQ.
  2. Check the upload to see if all data required for the report matches data from the CRM (revenue, number of conversions).
  3. Set up a Google Ads expense upload to GBQ using the Data transfer method.
  4. Write an SQL query that links data from AppsFlyer and Data transfer and performs the required calculations.
  5. Build a report in Google Data Studio.

Solution characteristics

Mobile applications can have a delayed effect. For example, someone may install an app but only register with it a month later. Our client wanted to analyze the effectiveness of purchased traffic over time. That is, if X units of the application were purchased from channel Y in March, how many of these units brought conversion actions in April, May, June, etc? To answer this question, we created a special report.

It was also a challenge to do analysis across countries, cities, and ad campaign groups so our client could, for example, see the effectiveness of campaigns overseen by a certain manager. This was implemented using filters.

We consciously didn’t use CRM data in the report because there was little error between the actual sales in the internal system and application data.


Our client received an automatically updated report in Google Data Studio that answers the following questions:

  • How many app settings did the X traffic source bring in month Y?
  • How many in-app conversions were there in the month of installation and in the months following? (by traffic source)
  • What is the effectiveness of campaign groups in terms of the above parameters?
  • How effective are advertising campaigns across countries?

We can’t share a customer report that contains sensitive data, but here’s an example of a base report (no monthly offset) that can be created with the solution described:

An example of a base report

Want to learn about traffic efficiency from mobile applications? Try OWOX BI for free and see how it can meet your needs.


Learn the real effectiveness of marketing channels using Machine Learning Funnel Based Attribution by OWOX

Google Analytics reports use the Last Non-Direct Click attribution model by default. This model assigns all value from a transaction to the last indirect source in the chain before the order. Because of this, other sources that promoted the user through the funnel are undervalued.

You can use ML Funnel Based Attribution by OWOX to learn the real value of channels and effectively distribute your budget. It takes into account all touchpoints and all user actions when moving through the funnel from the first visit to purchase.

Read more about the advantages and disadvantages of various attribution models in our article:


Client’s goal: Increase the ROI of controlled paid traffic sources at a fixed CRR index.

Client’s challenge: Build a report that shows undervalued traffic sources and their effectiveness in monetary terms while taking into account each user’s contacts with the site.

Our hypothesis: ROI can be increased without raising the CRR if the advertising budget is effectively redistributed. To do this, the ROI calculation must take into account the contribution of all campaigns and sources that promoted the user through the funnel, not just those that closed deals.

Technical task and solution

  1. Collect raw user behavior data on the site and send it to Google BigQuery using OWOX BI.
  2. Set up cost data import from advertising services to Google Analytics and Google BigQuery.
  3. Configure the Client ID, User ID, and Transaction ID to be sent correctly to BigQuery and the CRM.
  4. Upload actual sales data from the CRM to Google BigQuery in the required structure.
  5. Link user behavior data from the site to completed orders based on Client ID, User ID, and Transaction ID keys. SQL queries are not required — everything happens inside the OWOX BI attribution model. We simply load data in the correct format and add it to the model calculation.
  6. OWOX analysts will set up your funnel-based attribution and run the calculations. At this stage, we can specify as funnel steps events that are important to a particular business, including those that occur offline (meetings, calls, webinars, etc.). The funnel can vary depending on what a business wants to measure and how they see the user’s path to a purchase.
  7. Perform initial data analysis using standard OWOX BI Smart Data reports to avoid spending resources on data visualization in third-party BI systems. In Smart Data, you can view completed reports built on the results of attribution model calculations without SQL queries. For example, you can see the ROI of advertising campaigns and how it differs from the ROI shown by last non-direct click attribution.

Solution characteristics

Correctly transferring the Client ID and Transaction ID together with the order to your CRM requires a client-side development team. The same applies to configuring and transmitting the User ID.

In order to correctly interpret the results of the attribution calculation, it’s necessary to involve specialists from the client’s team. That’s because it’s difficult to correctly evaluate the behavior of some traffic sources without knowing the context and logic according to which advertising campaigns were set up.


Our customer received ready-made reports that can be used to:

  • Compare the ROI of traffic sources with completed orders for last non-direct click attribution and ML funnel-based attribution
  • Analyze the effectiveness of traffic sources at different stages of the funnel
  • Automatically pass the results of the attribution model calculation to Google Ads to automate rate management.

Here’s an example of a report from OWOX BI Smart Data that shows how the ROI of advertising campaigns differs across attribution models:

An example report from OWOX BI Smart Data

For example, in this screenshot, we see that the ROI source bing/organic is 20% higher than in Google Analytics. That is, the source actually earned more money but was undervalued in Google Analytics because it was in the middle of the funnel.

Want to assess the mutual impact of your advertising campaigns and their contribution to sales? Try OWOX BI and see how it can help to achieve your goals.


Conduct post-view analytics

When a user sees an ad somewhere, doesn’t click on anything, but after a while goes to the site and performs a certain action, it’s called a post-view conversion. These are difficult to track, as there’s no direct connection and transition to the ad.

In addition, big players like Facebook, Google, and YouTube aren’t very interested in letting third parties inside their systems. That is, they don’t want to give out data indicating that a particular user saw a particular advertisement.

We’ve written a joint case study with a Ukrainian media holding on this topic. Our common client agreed with 1+1 Media to install an OWOX pixel on their sites to track ad views.


Client’s goal: Increase the efficiency of investments in media advertising (banners and videos).

Client’s challenge: Track views of media creatives (no click) and subsequent site visits by users who saw an ad.

Our hypothesis: We can place a tracking code (pixel) on sites where the customer publishes their media ads. This pixel will assign a unique cookie to each user who sees the ad. After a while, this user may go to the client’s website. We’ll then be able to read the cookie we’ve assigned and use this data to build post-view analytics.

Technical task and solution

The OWOX BI team had the task of developing a tracking method that would collect data about ad views so it could be combined with user behavior data from the client’s site. We essentially created a piece of code that can be placed on the sites where the ad runs.

We then needed Google BigQuery to combine ad view data with user behavior data from our client’s site so it could be processed using SQL.

The task was implemented in several stages:

  1. Collect business requirements from the customer.
  2. On the basis of those business requirements, prepare TA for introducing a pixel on sites where media advertising will be placed.
  3. Test the quality of TA implementation and the quality of data that enters Google BigQuery during ad screenings.
  4. Launch campaigns and monitor the quality of data transmission.
  5. Link data collected during the campaign period to user behavior data as well as CRM data.
  6. Build a report that answers the client’s business questions.

You can find out more about post-view conversion tracking requirements and technical details in the OWOX Help Center.

Solution characteristics

  • Not all sites were interested in hosting our pixel.
  • We used our own OWOX User ID as the key for data mapping.
  • We constantly monitored the tracking and the correct working of our script on platforms owned by the advertiser.
  • We considered not only direct sales within the conversion window but also the impact of advertising on attracting a new audience (one of the client’s KPIs).


Our client received a report that answered the following questions:

  • What is the ROI of campaigns with online orders?
  • What is the ROI of campaigns for orders completed within 10 days of viewing an ad?
  • What is the ROI of advertising given the impact of ROPO?
  • Which sites proved most effective in terms of ROI/CR/new users?
  • What percentage of users who have seen ads have already been on the site?
  • How many new users have been brought to the site within X/Y/Z days of viewing an ad?
  • How many new users bought after viewing an ad?
  • What items were bought by users who saw an ad?
  • How many lapsed users (who didn’t enter the site or buy on the site for X days) were brought back by an ad?

Example of a post-view conversion report:

Post-view dashboard

Want the same report? Try OWOX BI and see how you can use it to overcome your marketing analytics challenges.


Short conclusions

  • Data is the oil of the 21st century.
  • Working with data requires experimentation and testing hypotheses.
  • You need to be prepared that not all experiments will be successful.
  • The desire of your CMO alone isn’t enough; you need processes within the company for data to start bringing in money, and the team should need it.
  • Is transforming data into money the alchemy of the 21st century? We don’t think so:)