All the major social networks like Facebook and Twitter provide an API that allows us to access their data programatically. In simple english, this means that if there’s a way to store, or retrieve information by completing forms, clicking buttons, or otherwise taking some sort of action then an API allows us to write a program that can do the same. We can make systems talk to each other and exchange data.
Our client provides marketing and business intelligence services to a number of different businesses. They needed a system that would enable them to seamlessly pull ad spend data for a large number of different Facebook advertising accounts and automatically load it into their systems so they could generate accurate reporting and analysis for their customers.
- Saves time by removing the need to manually download ad spend reports from Facebook for each client account. All the data our client needs to do their analysis and reporting is ready and waiting for them when they get into the office each morning.
- Improve data security by loading customer data directly into a secure data store. This removes the risk of emailing Excel files with customer ad account data.
- Transform the Facebook ad spend data to allow easy loading into the client’s visual analytics system (QlickSense)
To meet the client’s requirements we build a robust web application that provided the following features:
- Connect to the Facebook API using an automated process
- Request the latest ad spend data
- De-dupe the data against previous pulls
- Ensure the data is complete
- Transform the data into the correct format
- Save the data to a secure location for incorporation into the client’s reports
When working with any 3rd party API it’s important to allow for potential failures, system unavailability, and incomplete data. The system we delivered is fault tolerant, and can quickly recover if data is lost. In delivering this solution we utilised Amazon Web Services to form the core of the infrastructure. Doing so gave the solution greater scalability (the system can dynamically increase resources to handle greater load) and greater robustness.
There are limitless possibilities when it comes to leveraging APIs like this and we are well positioned to work on any project you may have in this area.