AdGenerator generalized to handle data object