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.

PhoneTray Pro 2.4

New version PhoneTray Pro 2.4 has been released. To update your version of PhoneTray Pro click Help -> Check for Updates button on the Ribbon Menu. Please click here for more detailed update instructions.

New features in PhoneTray Pro 2.4:

  • New version uses default system fonts, making all text more legible.
  • Added 9 new skins: Office 2010 Black, Office 2010 Blue, Office 2010 Silver, Office 2007 Black, Office 2007 Blue, Office 2007 Green, Office 2007 Pink, Office 2007 Silver and VS2010. To change the skin in PhoneTray, click the Skins button in the upper left corner next to PhoneTray logo.
  • Now you can re-arrange the columns on the Calls and Contacts screen by dragging the column headers.
  • Added an option to disable checking for software updates.
  • Transparent background for full screen alerts now works properly.
  • Other small fixes and improvements.

Please note that the new version of PhoneTray requires .NET Framework 3.5 SP1. Windows 7/8 comes with .NET 3.5 already installed. If you do not have .NET 3.5 on your computer please download and install it from www.phonetray.com/netinstall before updating PhoneTray to version 2.4.

AddTapi.NET has been updated to 5.1

Our computer telephony library AddTapi.NET has been updated to version 5.1. You can download the demo version from www.traysoft.com. To upgrade the purchased version of AddTapi.NET please send your serial number to devtools@traysoft.com.

Version 5.1 is a small update that adds TapiLine.SetupForwarding method for setting up call forwarding and do-not-disturb on the line.

This update also contains workarounds for non-standard behavior of Aastra TSP in some configurations.

PhoneTray Pro 2.3 Has Been Released

New version of PhoneTray Pro 2.3 has been released. To update your version of PhoneTray Pro click Help -> Check for Updates button on the Ribbon Menu. Please click here for more detailed update instructions.

Here is what’s new in PhoneTray Pro 2.3:

  • Now PhoneTray can import contacts from CSV files created by Outlook, Google Gmail and other programs. To import contacts, click PhoneTray logo in the top-left corner and select Import Contacts:
    Import contacts from CSV files created by Outlook, Google Gmail and other programs
  • Added an option to dial area code for local calls (10-digit dialing). You can change this option on the Settings -> Lines screen, Dialing Settings tab:
    New option to dial area code for local calls (10-digit dialing)
  • Added Ctrl-Alt-D hotkey that quickly opens PhoneTray dialer. To dial a phone number from another application, copy phone number to the clipboard then press Ctrl-Alt-D to open PhoneTray dialer and dial the number.
  • Now you can Ctrl-click the Zap button on a tray alert to zap a call and add the caller’s number to your black list in order to block future calls from that caller. As before, regular click zaps a call without adding the caller’s number to your black list.
  • New version will remember sort order and columns’ width on the Calls, Contacts, Black List and White List screens.
  • New feature: full screen alerts will stay on the screen until clicked if timeout is set to 99 seconds.
  • Added 3 new skins: Seven, Seven Classic and Pumpkin. To change the skin in PhoneTray, click the Skins button in the upper left corner next to PhoneTray logo.

PhoneTray Halloween Skin - Trick or Treat!
Make sure to select the Pumkin skin on Halloween. Trick or treat! 🙂

AddTapi.NET 5.0 is available

New version 5.0 of our computer telephony library AddTapi.NET is available for download from www.traysoft.com. To upgrade the purchased version of AddTapi.NET please send your serial number to devtools@traysoft.com. Here is a list of new features in AddTapi.NET 5.0:

Conference call support

AddTapi.NET 5.0 adds support for conference calls with three or more parties. The application can use TapiLine.SetupConference or TapiCall.CompleteTransfer resolved as a 3-way conference to setup a conference call. Additional parties can be added to the conference using TapiCall.PrepareAddToConference and TapiCall.AddToConference methods.

Audio playback and text-to-speech in Windows service applications

This version includes new audio engine that supports audio playback and text-to-speech in applications that run as a service. With AddTapi.NET 5.0 you can develop Windows services that play .wav files and speak to the callers using text-to-speech. Both TapiCall.Play and TapiCall.Speak can be used in Windows service applications without any problems.

Line device state information

New version adds TapiApp.LineDeviceState event that fires when the state of the line device changes. The application can use this event to find out when the line goes out-of-service and back in-service (TapiLineDeviceStatus.IsInService property), when the line is connected/disconnected to TAPI (TapiLineDeviceStatus.IsConnected property) or when the message waiting indicator turns on/off (TapiLineDeviceStatus.IsMsgWaitOn property).

Device-specific information about the line status

Version 5.0 adds TapiLineDeviceStatus.DeviceSpecificInfo property to obtain device-specific information about the line status. Avaya IP Office system uses this property to provide a lot of additional information about the line/extension, including call forwarding/DND information, number of read/new voicemail messages, user login information and much more. Please contact us for more information and we will provide a code sample that shows how to use this feature of the Avaya IP Office phone system.

Separate assemblies for .NET 4.x and .NET 2.0/3.x

Starting from version 5.0, AddTapi.NET assemblies located in the installation folder are compiled for .NET 4.0 and will not work with earlier versions of .NET Framework. If your application is targeting .NET 2.0 or 3.x, please reference Traysoft.AddTapi.dll located in the NET2 folder of your AddTapi.NET installation.

Other small fixes and improvements

– Incoming calls were reported as outgoing on some phone systems with non-standard TAPI drivers.

– Implemented a workaround for outgoing calls on Tadiran Coral IP PBX. The TAPI driver for the Coral system does not list any addresses that support outgoing calls and AddTapi was showing an error.

– Version 5.0 uses 8kHz 16-bit audio format on Avaya IP Office for better audio quality.

TapiApp.OutgoingCall event was not fired when establishing dial-up connection.