A system for automatically generating a content item (400, 700, 800) comprising: one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a landing page URL, a first dimensional value, and a second dimensional value; receiving a content item template having a set of elements for creating a content item (400, 700, 800) and content item data for the set of elements, wherein each element of the set of elements of the content item template comprises an index and an anchor, generating a placeholder for each element (410, 420) of the set of elements of the content item template based, at least in part, on the first dimensional value and the second dimensional value; determining a space allocation for each element (410, 420) of the set of elements based, at least in part, on the generated placeholders for each element (410, 420) of the set of elements, determining if a conflict exists based on determining if a portion of a first space allocation of a first element of the set of elements overlaps a portion of a second space allocation of a second element of the set of elements, eliminating, if a conflict exists and using a conflict resolver, an element from the set of elements and returning a new reduced set of elements to generate the placeholders based on the new set of elements, and generating a content item (400, 700, 800) using the determined space allocations and content item data of a landing page resource associated with the landing page URL responsive to determining no conflict exists, outputting data to display the generated content item responsive to a content item request from a client device. one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a landing page URL, a first dimensional value, and a second dimensional value; receiving a content item template having a set of elements for creating a content item (400, 700, 800) and content item data for the set of elements, wherein each element of the set of elements of the content item template comprises an index and an anchor, generating a placeholder for each element (410, 420) of the set of elements of the content item template based, at least in part, on the first dimensional value and the second dimensional value; determining a space allocation for each element (410, 420) of the set of elements based, at least in part, on the generated placeholders for each element (410, 420) of the set of elements, determining if a conflict exists based on determining if a portion of a first space allocation of a first element of the set of elements overlaps a portion of a second space allocation of a second element of the set of elements, eliminating, if a conflict exists and using a conflict resolver, an element from the set of elements and returning a new reduced set of elements to generate the placeholders based on the new set of elements, and generating a content item (400, 700, 800) using the determined space allocations and content item data of a landing page resource associated with the landing page URL responsive to determining no conflict exists, outputting data to display the generated content item responsive to a content item request from a client device. receiving a landing page URL, a first dimensional value, and a second dimensional value; receiving a content item template having a set of elements for creating a content item (400, 700, 800) and content item data for the set of elements, wherein each element of the set of elements of the content item template comprises an index and an anchor, generating a placeholder for each element (410, 420) of the set of elements of the content item template based, at least in part, on the first dimensional value and the second dimensional value; determining a space allocation for each element (410, 420) of the set of elements based, at least in part, on the generated placeholders for each element (410, 420) of the set of elements, determining if a conflict exists based on determining if a portion of a first space allocation of a first element of the set of elements overlaps a portion of a second space allocation of a second element of the set of elements, eliminating, if a conflict exists and using a conflict resolver, an element from the set of elements and returning a new reduced set of elements to generate the placeholders based on the new set of elements, and generating a content item (400, 700, 800) using the determined space allocations and content item data of a landing page resource associated with the landing page URL responsive to determining no conflict exists, outputting data to display the generated content item responsive to a content item request from a client device.