1. A storage device storing a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform operations comprising: receiving a selection of segment attributes from an offer provider campaign, the segment attributes defining one or more segments that correspond to the offer provider campaign; generating an expression tree based on the segment attributes; using the expression tree to compare consumer attributes for a specified group of consumers to the segment attributes to determine a number of the consumers that are to be assigned to the one or more segments; generating a portable micro-segment object based on the expression tree, the portable micro-segment object including the segment attributes and the number of the consumers assigned to the one or more segments, and lacking dependence on the offer provider campaign; sending the portable micro-segment object from a service to an offer provider associated with the offer provider campaign, the service being separate from the offer provider and the portable micro-segment object being sent without identification data for the consumers assigned to the one or more segments; receiving at the service an offer from the offer provider, and sending the offer from the service to one or more of the consumers assigned to the one or more segments.