NOTICE: Macro is officially patched/banned so this page may be outdated and not useful CURRENTLY as it is unknown if it will ever come back.
Macro can refer to macro split (splitting in 16 pieces), however, in the context of the mobile Agar.io app, it refers to a manipulation that allows players to eject a lot of mass in a very short time. As such, this is considered a cheat because it can cause lag while allowing super fast self-feeding.
Technically it works by another app running in the background that sends a lot of simulated touch events to the Agar.io app. It is still available on private Agar.io game.
The use of macro, with how feeding is currently implemented, cannot be prevented. This is because inputs are simulated by third party apps and there is no way for Miniclip to detect other apps and take action against macro users on that basis.
Mobile Agar.io likely uses a classic client-server architecture and the game world is not calculated in the app but on a server. The app only takes input and forwards it to the server, and receives information from the server with which it renders the game. Therefore the frequency with which a player can feed per second could be limited on the server-side, for example, to 4 times per second. This mechanism is already used on the servers for the PC version.