FYI: Google Will Disable Ads for Your Commercial Software Soon – New AdWords Policy in Effect

New Google AdWords policy Unsupported content – Free desktop software was introduced in April 2015. The policy says that you cannot advertise free software without registering with Google as a publisher and obtaining permission in advance. According to Google, ‘free desktop software’ applies to all downloadable software, including demo and trial versions of commercial software. Official confirmation:

Google already started to disable ads based on this policy. On April 27th our 10-year old AdWords account advertising our commercial software was suspended without warning for the violation of the ‘Free Desktop Software’ policy. It has been over two weeks and our website is still ‘under review’. You can read the full story here.

If you have any downloadable software on your website, be ready to have your ads disabled for at least several weeks while Google checks your software and decides if you are allowed to use Google AdWords. You can start the review process early by submitting this form: Application to advertise free desktop software as an authoritative distribution site.

I cannot even imagine how long this review process is going to take when Google disables ads of all software vendors who have a trial/demo version of their software available for download. We are talking about many thousands accounts including big names like Adobe, Microsoft, Corel etc. Major software distributors like ComponentSource will not be able to use Google AdWords at all.

Introducing major policy change that affects thousands of customers and disabling ads without warning is _not_ how a business should treat its customers. Even a simple email explaining the policy and asking software publishers to comply in advance would go a long way.

Our Google AdWords Story: Infinite Loops, Jumping through Hoops

TL;DR; Without any warning Google disabled our ads and suspended our 10-year old AdWords account for the violation of the ‘Free Desktop Software’ policy even though we don’t have any free software. Getting to anyone from Google who can explain what’s going on is impossible. After 2 weeks and 5 phone calls our account is still suspended and our ads are not running. All we can do is talk to people who don’t know anything and cannot do anything.

Update 1: According to Google ‘free desktop software’ means _all_ downloadable software including the trial/demo versions of commercial software. More info here.

Update 2: We finally got our account restored on May 15th. It took 3 weeks, 5 phone calls, 2 blog posts, couple of tweets and many emails. Not sure what exactly helped to get it done.

Background Info

We are a small company developing computer telephony software and components for software developers. We sell our software to the US Government and big corporations like Hewlett-Packard, Johnson & Johnson, LG and many others. We have been using AdWords for 10+ years and spent over $35,000 on  Google AdWords.

Round 1: Unwanted Software Policy

On Friday, April 24th, we got an automated email from Google saying that our ads are disabled because our site violates ‘Unwanted Software’ policy. There was no warning, no explanation, just a link to a generic policy page (https://support.google.com/adwordspolicy/answer/50423?hl=en). We read the policy and couldn’t find anything that our software violates. The policy talks about malware and software that hi-jacks user’s computer and cannot be uninstalled. Our software is 100% legitimate and many companies pay big money to use it. It’s even used to manage 911 emergency call centers!

To find out why our ads were disabled I started a chat session with Mainak G. from the policy team and was told that we have to add uninstall instructions to the download page. Our software uses standard Windows Install/Uninstall system and can be uninstalled using Control Panel, the same way as any other Windows software. We also add Uninstall link to the Start menu to make it easier. And someone at Google decided that not having uninstall instructions on the download page is a valid reason to disable all our ads without warning? There is no such requirement in the ‘Unwanted Software’ policy. The closest thing I could find was this phrase: “Uninstall information must be easily accessible, simple to perform, and clearly identifiable after the software has been installed.” (emphasis mine). BTW, there are no uninstall instructions on Google Chrome download page and no links to uninstall instructions either.

Anyway, it’s easy to add so I agreed to do that. He also wanted us to add a License Agreement to the front page of our website. I explained that we have a separate licensing page for each of our products and each product has its own EULA posted on the website. He insisted that we need one license agreement for everything and it should be on the front page. At the end he agreed that generic Terms of Use in the footer of the website should be enough. He said that everything else is OK and our ads will be restored in 24-48 hours after we make those changes. We updated our site on the same day and re-submitted it as requested.

Round 2: Free Desktop Software Policy

On Monday, April 27th, instead of having our ads restored we got another email saying that our site violates ‘Unsupported Content – Free Desktop Software’ policy (https://support.google.com/adwordspolicy/answer/6023676?hl=en#354). This policy says that you cannot advertise free software unless you register with Google and get permission in advance. I thought that it was a mistake because we don’t have any free software. We develop and sell commercial software and the prices are posted on every page including the landing page for our Google ads. We have a demo version of our commercial software on the site but no free software. I tried to chat with someone from the policy team several times but all my chat requests were denied.

Few hours later we received another email saying that our AdWords account was suspended. At this point all our campaigns were stopped, even those pointing to another domain. I called AdWords phone support line but the lady who answered said that she cannot do anything because our case is still under investigation by the India office, and I should expect a call from them in 24-48 hours.

Next morning I received a call from Fuzail U. who asked me to fill out an application to advertise free desktop software. I tried to explain that this form is not applicable in our case because we don’t have any free software! He said that he is from another team, he doesn’t know anything and he was told that we have to fill out this form. Once we submit the form someone will get back to us in 24-48 hours and resolve the problem. I filled out the form and submitted it right away, indicating in the comment that we advertise commercial software and someone made a mistake.

There were no phone calls and no emails since then and our account is still suspended.

Round 3: Infinite Loop, No Result Yet

Today is May 11th and our account is still suspended. I called AdWords support phone line 5 times and every time I was told that our case is under review. They always promise that someone will contact us in 24-48 hours but no one ever does. People answering the phone couldn’t even explain why our account was suspended and couldn’t tell me what we can do to get our ads restored.

Our ads have not been running since April 24th. We already lost several thousands dollars in potential sales. I have no idea when our account will be restored. I will continue to update this blog post with any new information.

Scary Reality

Think about the process that Google follows. Someone can click one button and disable your AdWords account without any explanation. It doesn’t matter how many years Google served your ads or how big your AdWords budget is. You get no warning, no grace period to make changes, nothing. Restoring your account is next to impossible. After paying Google hundreds of dollars every month for 10 years you cannot even talk to someone who knows what’s going on.

PS. We are not the only ones struggling with this. Andy Brice from SuccessfulSoftware.net had his AdWords account disabled because his site has hyperlinks to other sites! You can read his blog post here: http://successfulsoftware.net/2015/03/04/google-bans-hyperlinks/. Please make sure to read the comments to see how many companies had their ads suspended without warning for bogus policy violations.

My startup story: from big idea to thriving business in 8 short years

In the summer of 2003 while still working for my first startup I’ve got a “big idea”: social news reader. Imagine something like Google Reader with Priority Inbox and social recommendations.  I was thinking about it day and night. I couldn’t sleep and was working through it in my head while lying awake in bed. I’ve got The Madness. “It’s going to be huge!” – I thought. This was the kind of idea you’re supposed to seek venture funding for. But I was in Windsor, Canada, far away from Silicon Valley and didn’t know anything about VCs or funding. So I was going to build everything myself.

In 2003 there was no Google Reader, no Facebook and hardly any RSS feeds. No RSS feeds? Ok, I will have to build an intelligent scraper that can crawl websites and gather news/updates. No Facebook to pull social data from? That’s a problem. I can’t build anything social without the people. I will need users to make it work, and a lot of them. My “big idea” was going to take a long time to build, so I decided to make something simple and give it away for free to attract users. I had some experience with computer telephony, so small desktop app to show caller id was easy enough to develop. 2 months later PhoneTray Free was born.

2003 was a tough year. My first startup was going from moderate success to disappointing failure very fast. I couldn’t do any consulting work because of my visa status. Needless to say I wasn’t making tons of money ;) I was very close to giving up on startups and accepting a full time job offer. But my wife had a job and we had some savings, so we decided to tough it up so I could continue with my own business.

I was working on my “big idea” and on what was left of my first startup, and people were downloading PhoneTray Free. I started getting emails from PhoneTray users, and they liked my little app. “Hey, I get annoying calls from my ex.” – one email said – “Can your program block calls from him?”. I thought “why not?” and implemented blocking of calls from specific numbers. And it was the feature that everyone wanted. PhoneTray Free was becoming popular. By the end of 2004 I was getting couple hundred downloads per day and tons of emails.

“I like your program and all” – one email said – “but what about us, dial-up internet users? We miss important calls when online!”. “Um, really?” – I thought – “Is dial-up still alive?”. Quick Google search told me that over 65% of US internet users were still using dial-up at that time. But isn’t it a solved problem with modem-on-hold and V.92 standard? Apparently not, as I quickly found out. V.92 standard describes how to implement call detection and modem-on-hold in hardware, but nothing about software or API. Windows doesn’t have built-in modem-on-hold support. There is a couple of modem-on-hold apps provided by modem manufacturers but they only work with specific modems, and most modems don’t come with any modem-on-hold software. Can I add something to PhoneTray to make it work for the dial-up users?

Well, turns out it’s not so easy. There is no standard way to implement modem-on-hold. Existing apps were talking directly to the modem driver using internal API. Undocumented of course. And each modem chipset vendor came up with its own API. Plus some vendors decided not to bother and didn’t implement any API. That looked like a challenge to me, and who doesn’t like challenge? So I got my old x86 assembler books and trusty IDA and started to look into how the modem drivers work. I disassembled several modem drivers, read up on driver development and figured out what I had to do. I had to make my own kernel driver that sits on top of the modem driver and monitors what the modem driver is doing. Then PhoneTray can communicate with my driver and control the modem.

Did I say that I like challenge? If you ever tried to develop kernel mode drivers you know what I’m talking about. Remote kernel debugger, BSOD/reboot cycle, kernel memory dumps… I was having so much fun that my big idea was forgotten :), at least temporary. It took 5 months to make my driver work with all different modems, but in May 2004 the first version of PhoneTray Dialup was ready. It was a product solving real problem for people, and I was going to charge money for it. Sales were slow in the beginning and PhoneTray Dialup had bugs but by version 2.10 it became a solid product and sales were ramping up quickly.

By the end of 2004 PhoneTray Dialup was making couple thousand per month and growing. I became permanent resident of Canada and could do consulting work and make some money. Things were looking up! I went back to working on my big idea, doing some consulting work and updating PhoneTray Free and PhoneTray Dialup from time to time. Then one day I’ve got an email from the owner of small ISP who wanted to offer PhoneTray Dialup to his users. “Of course! Why didn’t I think of it myself?” – I thought – “That’s the whole new market!”. I quickly made a fully customizable version that ISPs could offer as their own software, got another person on board and started selling it. During the next 2 years we licensed it to a couple dozen ISPs. The biggest one was in Saudi Arabia and had 300,000 users.

Our business was doing well and I had tons of things to do. My wife left her job and joined Traysoft to help out. My big idea was forgotten, again. But dial-up was slowly dying and we had to do come up with something else to make money. Over the years I was getting emails from different businesses asking us to develop a custom version of PhoneTray Free for them. I wasn’t going to do that but I wanted to help developers with building what they want. I took the core telephony features of PhoneTray, ported to C#, added some extras and built telephony library for .NET. It became a successful product that accounts for over 50% of our company revenue. And PhoneTray is still going strong, plus we have advanced call management software PhoneTray Pro coming soon.

So here I am, 8 years later, with a thriving small business that supports me and my family. Business that started with a little free app. And my “big idea”? I will make it happen. Some day ;)

Nobody told me it’s impossible, so I did it.

I just read this great post on Derek Sivers’s blog: There’s no speed limit. (The lessons that changed my life.) You should go and read it right now because what Derek says is so inspirational and so true. There is no limit to what you can achieve if you are motivated and inspired. I want to tell you how I started programming, hope you find it relevant and interesting.

I was 14 when my girlfriend at the time told me that her uncle got a home computer. It was Yamaha MSX and it was one of the first home computers in our town. Of course it had games and I started playing until my girlfriend’s patience ran out. After playing games for a couple of days I was very curious how it all works. I asked and asked, and after a while was given MSX BASIC book, I assume just to stop me from bothering everyone with all those questions :-) I still remember that it was a xerox copy, pages and pages of poorly translated text with some code and pictures. We didn’t study programming or computers in school, so it was all very new, strange and foreign. But I was captivated. I read the book couple of times (don’t remember if I understood much after the first reading) and after several days I started writing a game. Graphical card game. In MSX BASIC. Using pen and paper. You see, I had access to the computer only few times a week for an hour or two. I had to be ready to type in and run my code when I get to the computer.

So here I was, writing BASIC code on paper and tracing it line by line with my index finger :-) But it turned out it’s hard to add something in the middle of your code when you write it on paper. I started to leave every other line empty so I could put another line of code in between but it wasn’t enough. I didn’t know (or didn’t understand) about subroutines/functions but I figured out GOTO. It was great! I could put  GOTO on an empty line and execute additional code written on a separate piece of paper. I know all programmers are laughing reading this, but I was happy that I didn’t have to squeeze several lines of code into one line in the notepad anymore!

Showing playing cards on the screen was hard. You just can’t hold all those pixels and coordinates in your head. But I found the way. I got sheets of graph paper and drew X and Y axes with screen coordinates on them. I could put dots on paper so they form a picture I wanted, then check coordinates of each dot and enter them into my program. It worked! Graph paper was my video memory simulator :-) Later I figured out how to copy small picture from one place on the screen to another (sprite graphics) and things became much easier.

I don’t want to bore you with other details but in a month or so my game was working. It grew to 40 pages of BASIC code in my notepad and it was a mess but it worked! It was shuffling a deck using random number generator, displaying cards, making decisions how to play and even winning against human opponents from time to time! I was so thrilled! By the end of that summer (I started at the beginning of summer break) I got crafty and even programmed the game to cheat a little.

Now if you ask anyone they would say that learning programming like that is just not possible. I would say the same thing myself if it wasn’t me who started that way. But back then nobody told me it’s impossible, so I did it. I wasn’t lucky enough to have a teacher to challenge me like Derek’s teacher but I was motivated. No, I was MOTIVATED. I was INSPIRED. I wanted to make it work. It was hard and it was challenging but I loved every minute of it. And over 20 years later I still remember the thrill of seeing my program work for the first time. That’s why I became a programmer and that’s why I write code every day.

Derek Sivers is right. There’s no speed limit. You can do so much more than anyone expects if you’re passionate about it. And it doesn’t matter if everyone says that you want to do the impossible.

Welcome to our blog!

Hi! My name is Michael Rakita and I am the founder and CEO of Traysoft Inc. After 6 years of running Traysoft I decided it’s time to start a blog. Well, better late than never :-)

I will post news and announcements about Traysoft and our software, discuss new features we are planning to add and our ideas for new projects. I will also write about technologies that we use and about software business in general.

Welcome to our blog! I hope you will find it interesting and useful.