Online ads (1)

How Online Ads Really Work

I'm a Senior Software Engineer at Unity, working on Tapjoy Offerwall, a ad solution for mobile games and apps. In this post, I want to demysify how online ads work, especially in the context of mobile games and app. It won't cover every detail but will give you a solid understanding of the ecosystem, the players involved, and how it all comes together. Plus, I won't explain Offerwall itself, but rather focus on the broader ad tech landscape that makes it possible.

Introduction: Ads Are Everywhere — But How Do They Work?

When you play games or browse the web, you see ads everywhere. I knew that ads are everywhere but I didn't know how they really work even though I have been working on the Ads team. This article is for those who want to understand the ad tech ecosystem. I will explain key actors, how they interact, and the techonology behind it with top-down approach. I wish you will get a better understanding of how online ads works after reading this post.

The Big Picture: Online Advertising Ecosystem

There are key players in the online advertising ecosystem that work together to deliver ads to users. Here's a high-level overview:

That's a lot of jargon, but don't worry. I'll break it down in the following sections. Before that, here's a high-level diagram of the ecosystem:

flowchart TD
  Advertisers -->|Create Ads| AdNetworks
  AdNetworks -->|Distribute Ads| Publishers
  Publishers -->|Show Ads| Users
  Advertisers -->|Buy Ad Space| DSPs
  DSPs -->|Bid on Inventory| AdExchanges
  AdExchanges -->|Sell Inventory| SSPs
  SSPs -->|Provide Ad Space| Publishers
  MMPs -->|Track Performance| Advertisers
sequenceDiagram
  participant Advertiser
  participant DSP
  participant AdExchange
  participant SSP
  participant Publisher
  Advertiser->>DSP: Submit Ad Campaign
  DSP->>AdExchange: Bid on Ad Space
  AdExchange->>SSP: Auction Ad Inventory
  SSP->>Publisher: Provide Ad Space
  Publisher->>User: Display Ad
  User->>Publisher: Interaction (e.g., click)
  Publisher->>SSP: Report Interaction
  SSP->>AdExchange: Update Metrics
  AdExchange->>DSP: Notify Results
  DSP->>Advertiser: Campaign Performance

Anyway

Well, I just come up with a few interviews that I failed. When I look back, I had interviews a lot of times when I switched jobs at the early stage of my career. As I get experienced, the number of interviews was getting less and the difficulty was getting easier but I still remember that I failed some interviews.

Here is the thing. As a result, the failure was not a bad thing. Thanks to those failures. When looking back, I'm realizing that I was unprofessional and immature back then. I didn't know what they wanted and didn't think about the career path and goal.

Anyways, I got a chance to move on a better company and a better job in my perspectives. Every places where I worked gave me a lot of opportunities to learn and grow. I am grateful for that.

First company tought me general knowledge of the industry, coding, machine learning, software engineering, and project management. In the second company, I wrote a thousands of thousands of lines of code and that was the most immersive experience I've had. In the third company, I learend communication skills and how to deliver features on the top of ongoing projects. In the fourth company, I realized what kinds of colleagues and products I want to work with/work on. In the fifth company, I experienced a functional programming and a manager role. In the sixth company, I saw how to work like Google — but not at Google. In the current company, I'm going through how to make money from the product in huge projects.

The domain, the number of employees, the structure, the average age, and the nationalities — everything was different from company to company. But one thing is certain: each of them gave me valuable experiences. I'm always grateful for the journey I've been on.

6 months Retrospective at Unity

I have been working at Unity for 6 months now. One sentence summary: I am happy to be here. Nice people, great work, and a good environment. Nothing prevents me from doing my best work. The product that I am working on is running well, so we have to changing the wheels on a moving train. As a result, I need to be careful not to break anything while improving it. I am learning a lot and satisfied with the work I am doing. I wish I could keep this mindset for a long time. Cheers!

Archive