We study a variant of the generalized assignment problem (gap) which we label all-or-nothing gap ( agap ). We are given a set of items, partitioned into n groups, and a set of m bins. Each item ℓ has size sℓ > 0, and utility aℓj ≥ 0 if packed in bin j. Each bin can accommodate at most one item from each group, and the total size of the items in a bin cannot exceed its capacity. A group of items is satisfied if all of its items are packed. The goal is to find a feasible packing of a subset of the items in the bins such that the total utility from satisfied groups is maximized. We motivate the study of agap by pointing out a central application in scheduling advertising campaigns. Our main result is an O(1)-approximation algorithm for agap instances arising in practice, where each group consists of at most m/2 items. Our algorithm uses a novel reduction of agap to maximizing submodular function subject to a matroid constraint. For agap instances with fixed number of bins, we develop a randomized polynomial time approximation scheme (PTAS), relying on a non-trivial LP relaxation of the problem. We present a (3 + ε)-approximation as well as PTASs for other special cases of agap, where the utility of any item does not depend on the bin in which it is packed. Finally, we derive hardness results for the different variants of agap studied in the paper.