Frederick Vallaeys

Frederick Vallaeys was one of the first 500 employees at Google where he helped grow the AdWords search marketing system and served as Google’s AdWords Evangelist, teaching advertisers about which Google products are best to support their marketing goals. He was a key player on several of the teams that made AdWords into the leading platform for search marketing, including the team that started the AdWords Editor and the one that acquired Urchin (now Google Analytics). He has contributed his technical expertise to several AdWords books including bestsellers like “AdWords for Dummies,” “Advanced Google AdWords,” and “Quality Score in High Definition” and he writes a monthly blog for searchengineland.com. He helps advertisers improve their search marketing results through Optmyzr.com, an AdWords tool company that makes a Historical Quality Score Tracker, One-Click AdWords Optimizations and other tools to make account management more efficient.
  • Tom

    Looks like a great script. Unfortunately I am getting this error when trying to run it –

    TypeError: Cannot read property “1” from null. (line 237)

    Has anyone got any ideas on how to fix? It looks like it happens when trying to pull information from the first landing page.

    Thanks

    • Thanks for the feedback. I have added code to deal with meta tags that use different capitalization, e.g. , , or . Let us know if it still breaks….

      • McKinsey Klint

        I am getting the same error as well “TypeError: cannot read property “1” from null. (line 243)

        Line 243 is:
        var title = scrap[1];

        • What is your landing page URL please? The script is not able to find a title tag so I’d like to take a look at how your html is set up.

  • Liam Holmes

    I just ran the script and the output looks good.

    Not just for converting to the new expanded ads- but also for creating new ads(expanded) for a new client- like an e-commerce company with lots of products…
    The script is taking out the copy from the website meta title and description tags-putting the clients copy into the draft ad versions of Google sheet/CSV that can be imported as is – after any amendments.
    Having the same spacing for titles and descriptions as the website meta tags and expanded ad copy- this is certainly very practical.

  • Ian Harmon

    This looks like a really useful script Frederick, thanks for sharing. I’m seeing an error in preview though: ReferenceError: “checkUrls” is not defined. (line 133)

    i thought i’d followed the instructions, did I miss something? Thanks

    • Rumenigo Fernandes

      Hi Ian
      did you get the solution for this issue?

  • Rumenigo Fernandes

    I tried this script but I get this error ..
    ReferenceError: “checkUrls” is not defined. (line 133)

  • Matthew Chan

    I tried running the script and i get this Error…

    new url found: [“http://www.example.com”]
    checking [“http://www.example.com”]
    Exception: Invalid argument: [“http://www.example.com”]

    • Bob L

      Frederick,

      Thanks fort the script.

      Also running into the issue that Matthew Chan is having with the “invalid argument”

      “Exception: Invalid argument:”

      Any suggestion of a path to follow to troubleshoot? The URL’s in question all resolve properly when manually tested.

  • natalia

    hi, great script but maybe you know why there is almost everything udefined in a sheet? (meta title, meta desc, first H1 (or h1, ive tried both) – undefined , just final URL, campaign and adgroup with content)

    • Peter Konc

      Hi there, I have same issue. Do you solved it somehow? Thanks.

      • natalia

        nope, not yet :/ sorry

  • lucy

    Hi, could you please help? I am getting this error:
    Not authorized
    This script is currently not authorized to run in your account.
    Please start the authorization process again.

  • Tina Arnoldi

    Not sure where I went wrong. I did edit the top section but received this error

    The coordinates or dimensions of the range are invalid. (line 175)

    Line 175 is
    metaSheet.getRange(2, 6, numRows, 1).setFormulaR1C1(“=LEN(R[0]C[-1])”);