Experimenting with different ads and keywords is usual practice in search marketing. Advertisers pause underperforming keywords and ads of a search campaign, and replace them with better alternatives. Therefore, new ads and keywords need to be produced easily for effective campaign management. We built GeNN for generating campaign ads and keywords programmatically. GeNN is based on language modeling. Using the existing keywords of a campaign as input, our GPT-2 based generator created novel keywords of good quality with a high number of expected clicks and conversions according to the forecast data provided by Google's keyword planner. Using the product landing page and sample ad copies as input, our GPT-2 based summarizer was able to generate production-ready ads. One of the ads that was tested for two weeks in a real search campaign had a CTR of 6% and converted real users. Finally, we compared GeNN's ad performance with a recent method based on two encoder-decoder RNNs being used in parallel; GeNN outperformed this method.