Local Advertising at Effilab

Mickael cassy
effilab
Published in
3 min readDec 5, 2017

About Effilab

As our website points out, we are a "digital advertising agency", it means we create and manage advertising strategies for customers spending at least 10k euros per month on platforms such as Adwords, BingAds, Facebook and others.

About Local Advertising

We also work for very different customers than the ones spending such amounts. I mean florists, mechanics, plumbers, locksmiths, bakers and many more! And when I say many more, I mean several thousands of them!
They spend smaller amounts of money compared to the big corporations, but they also target much smaller areas.

For them, we provide what we call local advertising.

It wouldn't be profitable for a standard agency to manage so many low-spending customers, so how do we do ? We automate what costs our account managers time, so they can spend that time on what matters, making the product even more effective and our customers happy.

For each customer we:

  1. Automatically create an Adwords account (and soon a BingAds one too)
  2. Automatically populate it with relevant info and make it spend money.
  3. Automatically give customers access to their performance reports.
  4. And many more things…

How do we do?

I won't tell you exactly how, that’s business secret :), but I can tell you what we use to make it work!

I'll throw all this stuff just here:

Ruby, Ruby on Rails, Docker, PostgreSQL, Redis, JavaScript, an Add-in Excel, AppSignal, Skylight, Papertrail, PagerDuty, AWS, OVH, Google Adwords API, Bing Ads API, ReactJS, GraphQL, Redux, Gitlab, Kubernetes, Traefik, Ansible, Webpack, Nginx, Puma, Kong, Sidekiq, Hadoop, Hive, Presto.

The team

First, let's talk about the people we work for, account managers, account coordinators, etc. - let's call them "business".
They are the ones using our tools, and our co-workers but what is important to know is: they can code!

I mean:

  • We gave them Metabase, so they could create their own reporting dashboards based on SQL queries
  • We gave them Datagrip licences, so they could manage their own data in their own schema in PostgreSQL, creating views/mviews and joining it all together.
  • We built a GraphQL API, so they could directly interact with our datas with their existing Javascript scripts.
  • We built a Python environment for them so they could develop and experiment in our environment while we focus on more urgent needs.
  • We gave them access to Presto so they could query cross-databases via Metabase.

Now let's present the development team organization:

We are organized in four teams:

  1. Ads: 3 people, working on our libraries that dialog with the Adwords and Bing APIs.
  2. Internal Tools: 3 people, working on the tools used by our co-workers and customer (GraphQL, Excel Add-in, Customer Reporting, BPMNS, etc).
  3. Data: 3 people, working on our data-science and data-gathering strategies.
  4. Ops: 2 people, maintaining our awesome infrastructure (K8s, Gitlab, Review-Apps, CI, etc).

And finally 2 scrum masters maintaining a clear roadmap and defining precise business and technical needs.

Interested in our scrum process? Article coming soon.

Interested in our development process? Article coming soon.

Wanna join ? Article coming soon.

--

--

Mickael cassy
effilab
Writer for

Ex-CTO, Co-Fondateur de Remotal.io, je suis convaincu que le remote est un outil indispensable pour les startups en recherche d'expert talentueux et abordables.