The gut-wrenching feeling you get when you realize your Facebook ads account is banned.
The disappointing feeling you get when you see a $100+ spend with zero’s across the board.
I started using Facebook ads in 2011, and like many people out there, trial and error was my teacher.
I dove headfirst into the world of Facebook ads without any training, youtube videos, or even a PDF.
I just wanted to get people to my Facebook page, and the result was 1,500+ page likes with thousands of comments, shares, and likes for only $35.
Little did I know this would spark a 9+ year journey into Facebook ads.
This is the story of how I developed upRive, a Facebook ad software.
My First Facebook Page
In 2011 I created my very first Facebook page.
It was about the Arab Spring, a series of anti-government protests, uprisings, and armed rebellions that spread across much of the Arab world, including my hometown Yemen.
I had no real goal except to create awareness about what was happening to people worldwide and connect people living through these revolutions.
I created a story timeline and launched my first ever post engagement campaign with zero targeting at a $5/day budget with zero expectations.
In 2011 Facebook ads were easier to get results with. The algorithm was more straightforward, and overall, everything was cheaper; there was little competition.
I ran the campaign for one week and spent $35. The result was an astounding 1,500 likes and hundreds of conversational comments, and thousands of shares.
At the time, I was like everyone focusing on SEO and learning about it as the primary form of marketing. But I just did not enjoy it; it was a slow and painful process.
The moment I saw the sheer amount of engagement, I was hooked.
I fell in love with the speed and scalability of results in Facebook ads. Since then, it has been my dedicated form of marketing.
I quickly found out that politics was a gloomy and harsh niche, so I decided to use Facebook ads to promote something I enjoyed doing. At that time, I absolutely loved playing Clash of Clans.
I built a simple WordPress website and wrote a blog all about Clash of Clans. I then created exclusive content with tips and tricks and hid it behind a paywall.
I used CPAlead to create the paywall, so instead of the readers paying, they would just complete a survey or download a program.
I then drove hordes of traffic using Facebook ads. And within a few days, I was making more than I was paying for ads at $5/day.
It was an exhilarating feeling, finally making money online, and best of all, it was fast, and it was something I genuinely enjoyed.
I enjoyed writing the information and researching it.
Every day I increased my budget by a few dollars and made more and more back while growing the Facebook page.
The more people liked and commented on the ad, the higher the percentage of people would complete the paywall. It had a compounding effect. At that time, I was not familiar with the concept of social proof.
Back then, scaling just meant more engagement and more results at a marginal increase in cost. (unlike now where scaling has become tremendously more difficult).
I ended up spending at a high of $450/day on Facebook ads and making 2x-3x ROI. It was entirely scalable and with virtually no overhead costs.
I added more and more locations until I eventually added Finland. Finland is the Headquarters of SuperCell, the parent company of Clash of Clans.
The next day I wake up to a gut-wrenching email from Facebook – “Your Facebook ads account has been disabled.”
It seems that my FB page and site were reported by someone in Super Cell for using their name and logo without permission. This prompted Facebook to take down my Facebook ad account and Facebook page.
I had tens of thousands of likes, comments, and shares on my page…all gone.
That was one of the worst days of my life, to say the least.
The Turning Point
A few weeks later, I decided to implement what I did but for other people. I figured I could charge people for managing campaigns for them.
So the period between 2013-2015, I dedicated myself to learning as many strategies and methods to create better Facebook ads.
Starting out, I charged a low rate of $50/week to manage ads. I showed them proof of my past results, along with new methods to try out.
I charged people what I perceived was my value.
Anyone who works with clients knows that the lower you charge, the higher your client’s expectations.
I managed an average of 20 clients per month. And best of all, I was able to test out different methods for Facebook ads across a wide area of niches, markets, and demographics.
I was making a good living, but with customer support, managing campaigns took too much of my time for so little return.
I decided to raise my costs to a point where I converted my most satisfied clients into monthly and yearly contracts for 10x the rate.
They were willing to pay more because I brought value to make up for it. Which gave me the freedom to spend more time on their campaigns.
The higher-paying clients also had higher ad budgets to scale and make up for my increase in costs.
After a while, I realized that much of what I do follows a template that can be automated.
So, I decided rather than continue to decrease my client load, I should optimize my time per client and reduce the time I spend on each campaign.
I decided to write down my full workflow and see where sections can be automated.
I found a handful of sections, such as automatically breaking down the adsets, automatically split testing the ads, and keeping track of google UTM’s.
I took my idea and hit elance.com (now known as Upwork).
I spoke with a few developers and immediately started development.
The Birth of The Campaign Maker
At the time, I had zero coding knowledge and had no clue what could and could not be done programmatically.
So whenever I came to the developer for improvement ideas, he just said it couldn’t be done this way. This was disheartening for me because I had some helpful features I couldn’t find anywhere else.
The core problem wasn’t that he was a bad developer. He just had no fundamental experience with Facebook ads.
He did not know the logistical insight of what makes an ad work and what methods it should use to create the campaign.
When using the Facebook API, you get granular control over how you create your campaign.
And the development reflected entirely on his experience with Facebook ads, not his programming knowledge.
Fast forward to mid-2016, I launched my first beta of The Campaign Maker and tried to sell subscriptions with a 7-day trial.
The results and feedback were, to say the least, horrible.
It was buggy, it froze, and for every 10 campaign creation attempts, one would work.
At that time, I had no idea about UX/UI principles. No coding knowledge. No user flow experience, no onboarding, and no help center.
Of course, it tanked HARD.
Again, it was disheartening to have wasted so much time, effort, and money on something borderline unusable.
I went back and educated myself about building a proper SAAS platform and taking some time to learn how to design it myself using Sketch.
I set off to redesign the platform using premade templates and adjusting them to my ideal platform.
I took my current design and gave it to a UX/UI designer to polish it and make it presentable.
Once the design was ready, I took it to my beta testers for feedback.
The feedback became much more positive, and some were actually excited to use it.
I continued to iterate the design while look for a more experienced developer.
The Campaign Maker Version 2.0
In 2017, I found and hired a developer with seemingly more knowledge about Facebook ads and more UX front-end experience to make it look and feel good.
After 6 months of brutal back and forth with the developer, I finally launched TCM 2.0.
At this point, every non-essential $ I made from clients, I funneled into TCM development (shout out to my wife for being patient with me <3).
In late 2017 I relaunched and drove as much traffic as I can. I was happy to see people sign up. However, the retention rate was horrible.
Again, people did not see enough value in what TCM offered. They would stick around for a couple of months then cancel.
To be honest, TCM did not offer a unique selling point; it just automated what you can do in the ads manager but faster.
The core problem stayed the same. The developer was still not a Facebook advertiser, and it reflected in how the campaign was created.
The Campaign Maker Version 3.0
In mid-2018, I was approached by a Facebook deal group owner to see if I could make a lifetime offer exclusively for their 10,000 member group.
Needless to say, I was happy to do so.
I launched the offer, and to my surprise that 1,500+ members purchased and became users of TCM.
I don’t think they purchased TCM for what it is, but what it could be in the future. And that weighed heavily on me.
Best of all, they continuously provided feedback and made the platform better and better.
This gave me a massive boost in funds and gave me the freedom and confidence to make the platform bigger and better.
Best of all, it gave me the freedom to shift this from a side project to a full-time journey and give it my all.
However, I still faced one glaring problem. TCM has no unique selling point.
At this point, I was spending much more time with developers, trying to navigate a sea of ideas and helplessness. I had no idea of what could and could not be possible with Facebook ads.
One day my father told me that I should stop hiring other people to create my vision for me, and I should learn to do it myself.
He said that absolutely no one would work harder and with more passion than you.
This was my project, and I have been struggling with it for the past four solid years. Sure it was profitable, but it was nowhere near what I wanted to achieve and what it could be.
Making The hard choice
I pushed myself and finally decided to learn coding in March 2019; at the same time, I just had my first baby girl.
The first 3 days were terrifying. I was completely lost and had no idea how to develop a full-fledged platform by myself.
It was utterly disheartening and, combined with a lack of sleep, was challenging, to say the least.
For the next 3 months, every day became easier and easier until I went through the course entirely and could do the basic CRUD functions properly.
Next, I taught myself about how API’s work and best practices.
6 months later, I finally feel confident I can learn about the Facebook marketing API.
It was like learning a whole new language.
I was baffled to see how many times the documentation says one thing, but their API returns something else.
Through trial and error for a few months, I was able to get a firm grasp on their API and found the potential of Facebook ads I was looking for.
I realized the potential hidden from the ads manager that can be done programmatically.
I found my unique selling point.
I found the value to give advertisers.
First, properly utilizing reusable ads, AKA Dark Posts into the core functionality of every Facebook campaign.
It provides so much value, yet not many people use it or leverage its power. I found that the ads manager can only use it for specific objectives. I found a way to do it for all objectives.
Second, the overlap between audiences when split testing.
Many, if not most split tests share the same audience, some of which up to 90% overlap.
This is a huge problem when split testing. You literally bid against yourself, which forces the campaign budget to sway one way and ignoring the others.
Through trial and error, I found a way to automatically eliminate the overlap between interests. The result was a smaller, laser targeted audience. that goes from millions to tens of thousands.
It cuts through the noise and filters down to the core of your audience.
Third, the budget structure is clumsy and forces one adset to consume the whole budget without giving a chance to your other adsets.
With the API and some sound logic, I made the campaign maintain equal spend across all adsets, giving each adset a fair shot. Leaving you to see the true figures if it’s worth it.
Plus, with the reusable ads and noverlap adsets, your budget flows to the same ad across many adsets.
So, if an ad gets good engagement in 1 adset, it will be reflected in all adsets using it. Giving you a massive boost of compoundable social proof.
Fourth, the ads manager gives you a limit of 25 results, and the audience insight tool gives you interests you cant target.
The API again gives you granular data to show interests by locale, size, and category. The library is HUGE.
Ads manager users are missing out.
With the API, I was able to uncover the full library of interests.
Best of all, I can give the users the options to breakdown interests by locale, category, and best of all. It shows you real interest size data.
So if you are targeting 30year old men who like golf in Florida, then the interest list will show you the number of 30year old men who like golf in Florida.
Effectively bringing down the interest size to the size based on your filters.
This by itself will save you a ton of time when searching for interests that are relevant and big enough for your core demographic.
Fifth, automated rules in the ads manager run as fast as every 30 minutes.
We changed it, so automated rules run in as fast as a few seconds.
For large scale budgets, this will effectively cut under-performing ads and adsets quickly.
After finding my MVP, I decided to completely revamp the brand to something short and brandable. Luckily for me, I found the perfect domain that reflects perfectly what we do in Facebook ads. upRive.
Rive means to split apart violently.
I grabbed it and immediately filed for a trademark on the name.
I spent most of my day coding and making iterations to improve the overall user experience.
I spent more time perfecting and iterating how the bulk of a campaign’s settings is automatically optimized to the best possible while making it as seamless as possible.
I knew it would improve the user experience and justified the time to do it.
COVID-19 The Blessing in Disguise
In April 2020, COVID hit, and people were not allowed to leave. This was the blessing in disguise I needed. It allowed me to continue grinding until this piece of coal became a diamond.
I had nothing but time, and time was what I needed.
In September 2020, I finally felt confident enough for beta testers. I emailed my best TCM users and revealed to them the complete rebrand and new platform.
I was so happy to hear that my users were finally excited and loved the changes I made.
The value it provided was on a whole other level than TCM.
The past 18 months of hard work were finally in the eyes of users, and best of all, it was validated by them.
This meant the absolute world to me and made it all worthwhile.
I realized what my father had said. That absolutely no one in this world will work as hard on my vision as I will.
Last month October 2020, I publicly launched upRive and started driving ads. I was happy to see the massive outpour of positive feedback and improved overall user experience.
I am grateful for my father for pushing me to develop the software myself and make the tough choice to build it right.
In the words of the legendary Les Brown –
“if you do what’s easy, your life will be hard. However, if you do what’s hard, your life will be easy.”
Les Brown
I now know what is possible and understand the limits of what I can achieve with this platform.
With a long list of ideas and the support of an amazing community of users, I am confident upRive will be a Facebook ads force to be reckoned with.
2021 will bring real value and growth; I genuinely hope you will join me in the upRive journey.
Best of luck to everyone struggling to make the hard choice.
And for the people who are making the hard choice, believe me, it will all be worth it in the end.