Client/server routing forwards data samples from the source nodes to the sink through single or multi-hop paths which are formed over a flat or hierarchical infrastructure. Depending on the routing infrastructure, the intermediate nodes may perform in-network data aggregation to collect and combine the data samples which are measures of the environmental events. Minimising energy consumption is a vital requirement due to resource constraints in wireless sensor networks. Data collection delay should be minimised as it is the key to data freshness. At the same time, the number of collected data samples should be maximised, as it should lead to increased accuracy and robustness in data collection. Owing to these, we define the system objective to be maximising the number of delivered data samples, while minimising energy consumption and data collection delay. We propose a cluster-based client/server data aggregation routing protocol called Cluster-Based client/server data Aggregation routing protocol (CBA). It dynamically partitions the network into a set of data-centric clusters using a lightweight clustering approach based on the Hamming distance. The cluster-heads then form a Minimum Spanning Tree (MST) as the network backbone to forward aggregated results to the sink. A parallel collision-guided technique is used to minimise the establishment cost of the tree infrastructure. Compared with the conventional routing protocols like MR-LEACH and Directed DiFFusion, CBA reduces energy consumption and data collection delay and increases accuracy (the number of captured data samples). In addition, our protocol reduces the impacts of the network architecture and the event source distribution model (distributed and centralised) on the performance of data aggregation routing.