Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Wednesday, 2 June 2021

Etsy is acquiring UK-based social selling site Depop for $1.625B in a mostly-cash deal

Very big news today coming out of Europe in the world of e-commerce. Etsy, the New York-based marketplace where crafty creators and those interested in their styles can discover and buy those goods, today announced that it is acquiring Depop, a London-based marketplace targeting millennial and Gen-Z consumers with a new take on social shopping. Etsy is paying $1.625 billion for the company, in what Etsy is describing as a mostly-cash deal.

This is not just Etsy’s biggest acquisition to date by some margin — it’s made seven other deals but all for well under $1 billion — but a huge acquisition for e-commerce in Europe, and also a massive endorsement of companies that are building business models, namely commerce models, specifically targeting younger and/or more creative users.

Some 90% of Depop’s users are under the age of 26, and this will give Etsy a sizeable opportunity both to tap them and their community in Depop itself, but likely will also act as a bridge to bringing more content and younger shoppers to Etsy, which may have started skewing younger but has also a huge number of older users now, too. Etsy is publicly traded and has a market cap of over $20 billion currently.

Depop last raised money, it seems, in 2019 (a $62 million round) and was on a roll at the time, with 13 million users and growing very fast in the U.S. Today, some two years later, its user numbers have grown to over 21 million stylists, designers, artists, collectors, vintage sellers and more, with an especially strong audience in the U.S. (Etsy’s biggest market) and its home market of the UK (which is also strong for Etsy).

This is a volume game for Etsy, but not necessarily an initially profitable one: Depop in 2020 saw gross merchandise sales of $650 million but revenues of only $70 million, both up 100% on the year before.

Depop’s ethos is a promising one, however, in terms of how Etsy might see itself growing, particularly as a kind of anti-Amazon in the world of clothes, home goods, and consumer goods shopping. Depop also fits squarely into a lot of the tastes of the moment. 2020 was a year that saw not just a huge surge of e-commerce, but also the flourishing of a lot of smaller businesses and cottage industries as a swathe of people opted to shop locally and support individuals, and to buy more used goods — areas where Depop plays very strong.

“We are simply thrilled to be adding Depop—what we believe to be the resale home for Gen Z consumers—to the Etsy family. Depop is a vibrant, two-sided marketplace with a passionate community, a highly-differentiated offering of unique items, and we believe significant potential to further scale,” Josh Silverman, Etsy, Inc. CEO, said in a statement. “Depop’s world-class management team and employees have done a fantastic job nurturing this community and driving organic, authentic growth in a way that aligns well with Etsy’s DNA and mission of Keeping Commerce Human. We see significant opportunities for shared expertise and growth synergies across what will now be a tremendous ‘house of brands’ portfolio of individually distinct, and very special, e-commerce brands.”

Silverman’s track record includes a number of years at eBay leading Shopping.com, something also worth considering when thinking about how sees the growth of Etsy over time.

Depop’s CEO Maria Raga added: “We’re on an incredible journey building Depop into a place where the next generation comes to explore unique fashion and be part of a community that’s changing the way we shop. Our community is made up of people who are creating a new fashion system by establishing new trends and making new from old. They come to Depop for the clothes, but stay for the culture. We’ll now take an exciting leap forward as part of the Etsy family, benefiting from Josh’s and his team’s expertise, and the resources of a much larger company whose values are so aligned with ours here at Depop.”

The transaction is expected to close in Q3 2021, pending regulatory approval in the U.S. and UK and other closing conditions, and Etsy said that after the deal closes, it will operate Depop as a separate brand alongside Etsy and Reverb, a marketplace for musical instruments that it acquired in 2019.

More to come. Refresh for updates.



from TechCrunch https://ift.tt/3i680zg
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support