function getClicks(
        $fromDate = null,
        $toDate = null,
        $mailingIds = null,
        $contactIds = null,
        $contactEmails = null,
        $contactExternalIds = null,
        $formatFilter = null,
        $linkIdFilter = null,
        $linkUrlFilter = null,
        $linkTagFilter = null,
        $socialNetworkFilter = null,
        $deviceTypeFilter = null,
        $embedEmailClientInfos = false,
        $excludeAnonymousClicks = false,
        $standardFields = null,
        $customFields = null,
        $embedFieldBackups = false,
        $pageIndex = 1,
        $pageSize = 100,
        $embedLinkTags = false)
    {

        $params = $this->createQueryParameters($pageIndex, $pageSize, $fromDate, $toDate, $contactIds, $contactEmails, $contactExternalIds, $mailingIds, null, $embedFieldBackups);

        $params = $this->appendArrayFields($params, "standard_field", $standardFields);
        $params = $this->appendArrayFields($params, "custom_field", $customFields);
        if (isset($embedEmailClientInfos)) $params['embed_email_client_infos'] = ($embedEmailClientInfos == true) ? "true" : "false";
        if (isset($embedLinkTags)) $params['embed_link_tags'] = ($embedLinkTags == true) ? "true" : "false";
        if (isset($excludeAnonymousClicks)) $params['exclude_anonymous_clicks'] = ($excludeAnonymousClicks == true) ? "true" : "false";

        if (isset($formatFilter)) $params['format'] = $formatFilter;
        $params = $this->appendArrayFields($params, "link_id", $linkIdFilter);
        if (isset($linkUrlFilter)) $params['link_url'] = $linkUrlFilter;
        $params = $this->appendArrayFields($params, "link_tag", $linkTagFilter);
        $params = $this->appendArrayFields($params, "social_network", $socialNetworkFilter);
        $params = $this->appendArrayFields($params, "device_type", $deviceTypeFilter);

        return $this->get('reports/clicks', $params);
    }