The Gunner Team breaks down the project
Check out architectural diagrams of this project
What was the problem to be solved?
As a small company that was hugely reliant on Internet sales, digital marketing was crucial for Country Shore.
However, at the time, the tools that were offered by ad platforms such as Google AdWords and Facebook Ads were not 100% sufficient.
Often Country Shore would hit spending limits on one part of their marketing funnel on a particular day even though the ROI from that channel was providing immediate and significant revenue.
For example, if Country Shore ran a remarketing ad that cost $5.00 per click with a maximum spend of $500 per day, but it was generating sales of $50 while only costing $20 per sale, they would be leaving money on the table.
What was the proposed solution?
The solution Gunner came up with was to generate real-time ROI on each stage of the funnel.
As long as the ROI was positive, the cap should continually be raised.
However, if the ROI was negative, once the cap is reached, the ad should stop running for that day.
What challenges arose during the project?
The main challenge was coordinating all the APIs.
We basically needed to constantly generate the ROI on all the different ads by pulling data from the Shopify API and comparing it to the data from the ads and decide if the ad should keep running or get shutdown.
What was the technical approach to the project?
We leverage AWS Lambda to create a lot of Microservices in the Open Source Serverless framework.
Each microservice had one purpose - check ad spend, check sales from ad, update ad, etc, etc.
In all, we coordinated APIs between Shopify, AdWords and Facebook Ads.
What was the project management approach to the project?
We took an Agile Scrum approach to the project with one-week iterations and an IPM each week to demonstrate our progress.
We started with one Research Sprint to learn about the AdWords and Facebook Ads APIs, and after that, we worked in development sprints until completion.
What platform was built for this project?
The infrastructure was completely headless.
We used Serverless framework to organize and coordinate the Microservices and simply created Node Lambda functions that ran on a given schedule (every minute).
What did you learn from working on this project?
We learned a lot about the AdWords and Facebook Ads APIs.
We also learned how to streamline and scale requests between the services so we would not hit throttle limits.
How did this project benefit the client?
At the end of the day, we implemented a solution that captured all available net positive revenue.
We kept spending, tweaked CPC and adjusted caps to capture all positive value.
This meant that we generated as much revenue as possible, which was Country Shore's goal at the time.
The algorithm's were all configurable, too. Meaning Country Shore could say "instead of positive ROI, run the ads until they dip below 10% ROI."
This would be the change to make if profit margins became more important than straight revenue.
In the end, Country Shore saw revenue increase from online sales by 20%
Why was Gunner selected for this project?
Gunner Technology has had a long-standing relationship with Country Shore as we helped set up their entire technology infrastructure when the company launched and are constantly automating redundant tasks for them.
Who worked on this project?
What tools, techniques and methodologies were used on this project?
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams
Monitor AWS resources and custom metrics generated by your applications and services
AWS CodeCommit is a fully-managed source control service that hosts secure Git-based repositories.
A Region is a geographical area, which consists of two or more Availability Zones, which are synonymous for a Data Center.
The AdWords API allows apps to interact directly with the Google Ads platform, vastly increasing the efficiency of managing large or complex Google Ads accounts and campaigns.
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.
Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more