def build_creative_name(bidder_code, order_name, creative_num, size=None, prefix=None):
    """
    Returns a name for a creative.

    Args:
      bidder_code (str): the bidder code for the header bidding partner
      order_name (int): the name of the order in DFP
      creative_num (int): the num_creatives distinguising this creative from any
        duplicates
    Returns:
      a string
    """
    if prefix != None:
      if size==None:
        return '{prefix}_1x1'.format(prefix=prefix)
      return '{prefix}_{width}x{height}'.format(
        prefix=prefix,width=size["width"], height=size["height"] )

    if size == None:
      return '{bidder_code}: HB {order_name}, #{num}'.format(
          bidder_code=bidder_code, order_name=order_name, num=creative_num)
    else:
        return '{bidder_code}: HB {order_name}, {width}x{height} #{num}'.format(
          bidder_code=bidder_code, order_name=order_name, width=size["width"],
          height=size["height"],num=creative_num)