{"id":3427,"date":"2026-05-06T16:50:40","date_gmt":"2026-05-06T09:50:40","guid":{"rendered":"https:\/\/satusatu.com\/inspiration\/?p=3427"},"modified":"2026-05-07T17:09:47","modified_gmt":"2026-05-07T10:09:47","slug":"avocado-factory-canggu","status":"publish","type":"post","link":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/","title":{"rendered":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The first thing you notice at The Avocado Factory in Canggu is not the menu or the d\u00e9cor. It is the smell of ripe avocado meeting fresh coffee at 8 in the morning, with the kind of warm, breezy tropical energy that Canggu does better than almost anywhere. If you are a fan of the fruit, this place will make you very happy.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are skeptical that an entire restaurant concept can be built around a single ingredient, it will likely change your mind. SatuSatu, a Bali travel platform that helps visitors explore the island with ease, has this on its list of Canggu&#8217;s most characterful stops for a reason.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    <!-- Styles -->\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* ========================= *\/\n          \/* BASE STYLES *\/\n          \/* ========================= *\/\n          .produk-container {\n              display: flex;\n              flex-direction: column;\n              gap: 12px;\n          }\n\n          .produk-card {\n            cursor: pointer;\n            display: flex;\n            margin: 0;\n            border: 1px solid #eee;\n            border-radius: 12px;\n            overflow: hidden;\n            font-family: Overpass, sans-serif;\n            background: #ffffff;\n          }\n\n          .produk-image {\n            position: relative;\n            flex-shrink: 0;\n          }\n\n          .produk-image img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n          }\n\n          .produk-location {\n            position: absolute;\n            left: 8px;\n            bottom: 8px;\n            background: #fff;\n            border-radius: 12px;\n            border: 1px solid #dadbe0;\n            padding: 4px 6px;\n            font-size: 10px;\n            line-height: 14px;\n          }\n\n          .produk-content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n          }\n\n          .produk-title {\n            font-weight: 700;\n          }\n\n          .produk-rating {\n            font-size: 16px;\n            color: #333;\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-rating-line {\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-price-main {\n            color: #cb1c4f;\n            font-weight: 800;\n            font-size: 16px;\n          }\n\n          .produk-price-strike {\n            text-decoration: line-through;\n            font-size: 14px;\n            opacity: 0.7;\n            margin-right: 8px;\n          }\n\n          .produk-discount {\n            background: #cb1c4f;\n            color: #fff;\n            padding: 2px 6px;\n            border-radius: 4px;\n            font-size: 14px;\n          }\n\n          .produk-btn {\n            background: #cb1c4f;\n            color: #ffffff;\n            padding: 10px 16px;\n            border-radius: 8px;\n            text-decoration: none;\n            font-weight: 600;\n            margin-top: 8px;\n          }\n\n          .produk-btn:hover {\n            text-decoration: none;\n            color: #ffffff;\n          }\n\n          .product-info-wrap {\n            display: flex;\n            flex-wrap: nowrap;\n            justify-content: space-between;\n          }\n\n          \/* ========================= *\/\n          \/* DESKTOP (>= 800px) *\/\n          \/* ========================= *\/\n\n          @media (min-width: 800px) {\n            .produk-image {\n              width: 200px;\n            }\n\n            .produk-content {\n              padding: 20px;\n            }\n\n            .product-info-wrap {\n              flex-direction: row;\n              align-items: center;\n            }\n\n            .produk-btn {\n              display: inline-block;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* TABLET (<= 768px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 768px) {\n            .produk-card {\n              flex-direction: column;\n            }\n\n            .produk-image {\n              width: 200px;\n              height: 220px;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 18px;\n            }\n\n            .produk-rating {\n              font-size: 14px;\n            }\n\n            .product-info-wrap {\n              flex-direction: column;\n              align-items: flex-start;\n              gap: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* MOBILE (<= 480px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 480px) {\n            .produk-image {\n              width: 100%;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 16px;\n              overflow: hidden;\n              text-overflow: ellipsis;\n            }\n\n            .produk-price-main {\n              font-size: 15px;\n            }\n\n            .produk-discount {\n              font-size: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ======================================= *\/\n          \/* CAROUSEL MODE (inside .carousel-list)  *\/\n          \/* ======================================= *\/\n\n          .carousel-wrapper {\n            position: relative;\n          }\n\n          .carousel-list {\n            overflow-x: auto;\n            overflow-y: hidden;\n            -webkit-overflow-scrolling: touch;\n            scroll-behavior: smooth;\n            scroll-snap-type: x mandatory;\n            scrollbar-width: none;\n          }\n\n          .carousel-list::-webkit-scrollbar {\n            display: none;\n          }\n\n          .carousel-list .produk-container {\n            display: flex;\n            flex-direction: row;\n            flex-wrap: nowrap;\n            width: max-content;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-card {\n            flex: 0 0 auto;\n            width: 220px;\n            flex-direction: column;\n            scroll-snap-align: start;\n          }\n\n          .carousel-list .produk-image {\n            width: 100%;\n            height: 220px;\n          }\n\n          .carousel-list .produk-content {\n            padding: 12px;\n          }\n\n          .carousel-list .produk-title {\n\t\t\t  font-size: 16px;\n\t\t\t  overflow: hidden;\n\t\t\t  text-overflow: ellipsis;\n\t\t\t  display: -webkit-box;\n\t\t\t  -webkit-line-clamp: 2;\n\t\t\t  -webkit-box-orient: vertical;\n\t\t\t  line-clamp: 2;\n\t\t\t}\n\n          .carousel-list .produk-rating {\n            font-size: 14px;\n          }\n\n          .carousel-list .produk-price-main {\n            font-size: 15px;\n          }\n\n          .carousel-list .produk-discount {\n            font-size: 12px;\n          }\n\n          .carousel-list .product-info-wrap {\n            flex-direction: column;\n            align-items: flex-start;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-btn {\n            display: none;\n          }\n\n          \/* ========================= *\/\n          \/* CAROUSEL ARROWS *\/\n          \/* ========================= *\/\n\n          .carousel-arrow {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 36px;\n            height: 36px;\n            border-radius: 50%;\n            background: #ffffff;\n            border: 1px solid #dadbe0;\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            z-index: 10;\n            transition: opacity 0.2s, box-shadow 0.2s;\n            padding: 0;\n          }\n\n          .carousel-arrow:hover {\n\t\t\tbackground: #FFFFFF;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n          }\n\n          .carousel-arrow.is-hidden {\n            opacity: 0;\n            pointer-events: none;\n          }\n\n          .carousel-arrow-left {\n            left: -18px;\n          }\n\n          .carousel-arrow-right {\n            right: -18px;\n          }\n\n          @media (max-width: 480px) {\n\t\t\t.carousel-arrow{\n\t\t\t\tdisplay: none;\n\t\t\t}\n            .carousel-arrow-left {\n              left: 4px;\n            }\n\n            .carousel-arrow-right {\n              right: 4px;\n            }\n          }\n    <\/style>\n\n    <!-- HTML -->\n    <div class=\"carousel-wrapper\" data-carousel-id=\"carousel-6a13847b6b7f7\" data-is-carousel=\"1\">\n                    <button type=\"button\" class=\"carousel-arrow carousel-arrow-left is-hidden\" aria-label=\"Scroll left\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M216,88v80a8,8,0,0,1-8,8H120v48L24,128l96-96V80h88A8,8,0,0,1,216,88Z\" opacity=\"0.2\"><\/path><path d=\"M208,72H128V32a8,8,0,0,0-13.66-5.66l-96,96a8,8,0,0,0,0,11.32l96,96A8,8,0,0,0,128,224V184h80a16,16,0,0,0,16-16V88A16,16,0,0,0,208,72Zm0,96H120a8,8,0,0,0-8,8v28.69L35.31,128,112,51.31V80a8,8,0,0,0,8,8h88Z\"><\/path><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"carousel-arrow carousel-arrow-right is-hidden\" aria-label=\"Scroll right\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M136,224V176H48a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h88V32l96,96Z\" opacity=\"0.2\"><\/path><path d=\"M237.66,122.34l-96-96A8,8,0,0,0,128,32V72H48A16,16,0,0,0,32,88v80a16,16,0,0,0,16,16h80v40a8,8,0,0,0,13.66,5.66l96-96A8,8,0,0,0,237.66,122.34ZM144,204.69V176a8,8,0,0,0-8-8H48V88h88a8,8,0,0,0,8-8V51.31L220.69,128Z\"><\/path><\/svg>\n            <\/button>\n                <div class=\"carousel-list\">\n            <div class=\"produk-container\" data-slugs=\" uluwatu-temple-kecak-fire-dance-satusatu-curated-experience-sameday-booking-bonus-merchandise, satusatu-exclusive-car-charter-sameday-booking, satusatu-airport-transfer-from-to-airport-sameday-booking, nusa-penida-day-tour-satusatu-curated-experience-bonus-merchandise, bali-bird-park-experience-nature-wildlife-adventure\"><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Script -->\n    <script>\n    (function() {\n\t\tfunction buildCatalogUrl(slug) {\n\t\t\t\/\/ UTM params hardcoded by the shortcode (these always win)\n\t\t\tconst hardcoded = {\n\t\t\t\tutm_source: \"blog\",\n\t\t\t\tutm_medium: \"in_line_product_cta\",\n\t\t\t};\n\n\t\t\t\/\/ UTM params from the current page URL (only used if hardcoded doesn't define them)\n\t\t\tconst pageParams = new URLSearchParams(window.location.search);\n\t\t\tconst utmKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"];\n\t\t\tconst merged = new URLSearchParams();\n\n\t\t\tutmKeys.forEach(key => {\n\t\t\t\tif (hardcoded[key] !== undefined) {\n\t\t\t\t\t\/\/ Hardcoded value takes priority\n\t\t\t\t\tmerged.set(key, hardcoded[key]);\n\t\t\t\t} else if (pageParams.has(key)) {\n\t\t\t\t\t\/\/ Fall back to whatever the page URL has\n\t\t\t\t\tmerged.set(key, pageParams.get(key));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn \"https:\/\/satusatu.com\/en-ID\/catalog\/\" + slug + \"?\" + merged.toString();\n\t\t}\n\t\t\n        function renderCatalogItem(p) {\n            const location = p.location?.name || \"\";\n            const rating = p.rating?.average_rating ?? null;\n            const ratingCount = p.rating?.count_rating_display || \"\";\n            const soldDisplay = p.rating?.total_sold_display || \"\";\n            const currency = p.pricing?.currency_symbol || \"Rp\";\n            const price = p.pricing?.min_price || 0;\n            const originalPrice = p.pricing?.min_original_price || 0;\n            const discount = p.pricing?.discount || 0;\n\t\t\tconst catalogUrl = buildCatalogUrl(p.slug);\n\n            return `\n                <div class=\"produk-card\" data-url=\"${catalogUrl}\">\n                    <div class=\"produk-image\">\n                        <img decoding=\"async\" src=\"${p.image_url}\" alt=\"${p.title}\" \/>\n                        <div class=\"produk-location\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M128,24a80,80,0,0,0-80,80c0,72,80,128,80,128s80-56,80-128A80,80,0,0,0,128,24Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,128,136Z\" opacity=\"0.2\"><\/path><path d=\"M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z\"><\/path><\/svg>\n                            <span>${location}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"produk-content\">\n                        <div class=\"produk-title\">${p.title}<\/div>\n                        ${rating ? `\n                        <div class=\"produk-rating\">\n                            <div class=\"produk-rating-line\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" fill=\"#F87500\" viewBox=\"0 0 256 256\"><path d=\"M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z\" opacity=\"0.2\"><\/path><path d=\"M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z\"><\/path><\/svg>\n                                <span>${rating} (${ratingCount}) &bull; ${soldDisplay} sold<\/span>\n                            <\/div>\n                        <\/div>` : ''}\n                        <div class=\"product-info-wrap\">\n                            <div>\n                                <div style=\"display:flex;gap:6px;\">\n                                    <div style=\"font-size:14px;\">From<\/div>\n                                    <div class=\"produk-price-main\">${currency} ${price.toLocaleString()}<\/div>\n                                <\/div>\n                                ${discount > 0 ? `\n                                <div>\n                                    <span class=\"produk-price-strike\">${currency} ${originalPrice.toLocaleString()}<\/span>\n                                    <span class=\"produk-discount\">-${discount}%<\/span>\n                                <\/div>` : ''}\n                            <\/div>\n                            <div>\n                                <a target=\"_blank\" href=\"${catalogUrl}\" class=\"produk-btn\">Check Availability<\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        function initSatuSatuCatalog(wrapperEl) {\n            const scrollEl = wrapperEl.querySelector(\".carousel-list\");\n            const container = wrapperEl.querySelector(\".produk-container\");\n            const slugs = container.getAttribute(\"data-slugs\");\n            const isCarousel = wrapperEl.getAttribute(\"data-is-carousel\") === \"1\";\n            const leftArrow = wrapperEl.querySelector(\".carousel-arrow-left\");\n            const rightArrow = wrapperEl.querySelector(\".carousel-arrow-right\");\n\n            fetch(\"https:\/\/api.satusatu.com\/content\/guest\/satusatu\/v1\/catalogs\/blog\/catalog-list?slugs=\" + slugs)\n                .then(res => res.json())\n                .then(data => {\n                    container.innerHTML = data.data.map(renderCatalogItem).join('');\n                    \/\/ Event handler for card click\n                    container.querySelectorAll('.produk-card').forEach(card => {\n                        card.addEventListener('click', () => {\n                            window.open(card.dataset.url, '_blank');\n                        });\n                    });\n\n                    if (isCarousel && scrollEl && leftArrow && rightArrow) {\n                        const scrollAmount = 240;\n                        function updateArrows() {\n                            const sl = scrollEl.scrollLeft;\n                            const sw = scrollEl.scrollWidth;\n                            const cw = scrollEl.clientWidth;\n                            leftArrow.classList.toggle(\"is-hidden\", sl <= 0);\n                            rightArrow.classList.toggle(\"is-hidden\", sl + cw >= sw - 1);\n                        }\n                        leftArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: -scrollAmount, behavior: \"smooth\" });\n                        });\n                        rightArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: scrollAmount, behavior: \"smooth\" });\n                        });\n                        scrollEl.addEventListener(\"scroll\", updateArrows);\n                        window.addEventListener(\"resize\", updateArrows);\n                        setTimeout(updateArrows, 200);\n                    }\n                });\n        }\n\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            document.querySelectorAll(\"[data-carousel-id]\").forEach(initSatuSatuCatalog);\n        });\n    })();\n    <\/script>\n    <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is The Avocado Factory?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Avocado Factory is self-described as the first avocado bar in Southeast Asia, and that claim has held up since the restaurant opened in Canggu&#8217;s Batu Mejan area. Behind the project is an Italian team of young entrepreneurs: Edo, who manages business and operations, and Emilio, the chef and creator of the menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The restaurant has since expanded its team and grown significantly, now operating under the Tavolo Group alongside other Canggu dining brands. Every item on the menu features avocado as a central ingredient. This is not a token addition to make the concept work.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The kitchen genuinely builds each dish around the fruit in ways that feel creative rather than gimmicky. The result is a caf\u00e9 concept that consistently moves, reportedly, up to 100 kilograms of avocado on a single busy day.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The restaurant has expanded its original footprint into a larger venue with an expanded kitchen, a bar, a lounge section, and a retail area, and now opens for dinner in addition to its all-day breakfast and lunch service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Location and Getting There<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Avocado Factory is located on Jalan Batu Mejan at the intersection with Jalan Tanah Barak, in the Canggu area of North Kuta, Badung. The full address is Jl. Batu Mejan Canggu, Canggu, Kec. Kuta Utara, Kabupaten Badung, Bali 80351.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This puts it in the heart of Canggu&#8217;s most active dining and caf\u00e9 strip, within easy reach of Echo Beach, Batu Bolong, and the surrounding surf spots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Getting there is straightforward if you are staying anywhere in Canggu: a short scooter or taxi ride will get you there from any part of the neighbourhood. Scooter parking is available on-site.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the airport, the drive is approximately 30 to 40 minutes depending on traffic, and Canggu&#8217;s roads can be congested during peak hours so building extra time in is sensible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Operating hours are from 7 AM to 11:30 PM daily, covering all meals including the dinner service with avocado tapas, wine, and cocktails introduced in the expanded venue.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Food and Dining Experience<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1408\" height=\"768\" src=\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu-1.png\" alt=\"Avocado Factory Canggu\" class=\"wp-image-3429\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The menu is genuinely inventive. Breakfast and brunch offerings include the Avo Cheese Croissant XL, a generously filled pastry with creamy avocado, cheddar, scrambled eggs, and mustard seeds that is one of the most ordered items on the menu.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Truffle Benedict, a riff on eggs benedict with poached eggs, truffled hollandaise, black sesame, and avocado on toast, has built a loyal following. Avo Pancakes, fluffy and served with berry sauce and fruit, appear on almost every table.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Avo Eggs Benny is another signature: perfectly poached eggs on crispy sourdough with buttery avocado and a creamy hollandaise that is worth going out of your way for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For those looking for something beyond the brunch staples, the Avo Tuna Tartar and the Avo Poke Bowl with smoked salmon and brown rice are fresh, well-balanced, and popular with the health-conscious crowd that Canggu attracts in large numbers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The expanded dinner menu introduces options including a Pan Seared Tuna Steak, Australian Grain Fed Striploin with avocado components, and Slow-Cooked Lamb Shank, elevating the offering well beyond caf\u00e9 territory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dessert is not an afterthought. The Avocado Basque Cheesecake has been specifically called out by multiple reviewers as a standout, creamy and rich with that subtly grassy quality that avocado brings to sweet applications.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For drinks, expect cold-pressed juices, avocado smoothies, matcha lattes, specialty coffee, and a cocktail list that puts the fruit to work in ways that will either delight or genuinely surprise you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The restaurant has made sustainability a concrete part of its operation rather than a marketing point. The building uses eco-sustainable and recycled bricks, a rainwater collection system serves the garden and toilets, furniture incorporates recycled plastic, and the sourcing philosophy prioritises local and sustainable partners.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Top Highlights<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Southeast Asia&#8217;s first avocado bar concept.<\/strong> The Avocado Factory has a genuine claim to originality and executes on it with a menu that avoids the trap of novelty for novelty&#8217;s sake. The dishes are creative and balanced, not just avocado piled on everything arbitrarily.<\/li>\n\n\n\n<li><strong>All-day dining from breakfast to dinner.<\/strong> The extended hours mean this works as a brunch destination, a lunch stop, and an evening dining experience, all under one roof with a menu that shifts in character accordingly.<\/li>\n\n\n\n<li><strong>Sustainability credentials.<\/strong> For environmentally conscious diners, the restaurant&#8217;s concrete commitments to sustainable sourcing, waste reduction, and eco-friendly construction materials are a genuine differentiator.<\/li>\n\n\n\n<li><strong>Standout individual dishes.<\/strong> The Truffle Benedict, Avo Cheese Croissant XL, and Avocado Basque Cheesecake have each developed their own reputation within Canggu&#8217;s competitive dining scene. These are not incidental menu items but deliberate, well-executed signatures.<\/li>\n\n\n\n<li><strong>Canggu location and atmosphere.<\/strong> The tropical, plant-filled setting captures the best of the neighbourhood&#8217;s relaxed, creative energy. The two-story streetside space has both indoor and outdoor seating, and gets natural airflow from the surrounding rice field area.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">The Honest Verdict: Is It Worth It?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Avocado Factory is genuinely worth a visit, and for avocado enthusiasts, it deserves multiple visits across a Bali trip. The menu creativity is real, the ingredient quality is consistently high, and the experience has the kind of considered personality that distinguishes a well-run concept restaurant from a trend-chasing one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The honest note: the restaurant gets busy, especially during brunch hours between 9 AM and 1 PM. Arriving early or being prepared to wait is the practical reality on peak days. Some guests have also found individual dishes, particularly the smoothies, on the smaller side for the price.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pricing at The Avocado Factory sits in the mid-to-upper range for Canggu caf\u00e9s, which is perfectly reasonable for the quality and experience, but worth knowing if you are comparing it to local warung options nearby.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This restaurant is best suited to health-conscious travelers, avocado enthusiasts, digital nomads looking for a comfortable work-and-eat spot, and anyone visiting Canggu who wants a dining experience that is genuinely distinctive rather than generic caf\u00e9 fare.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It also works well for couples and small groups looking for a relaxed, photogenic meal in the middle of the day.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Explore Canggu Further with SatuSatu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Canggu has more to offer than great caf\u00e9s, and SatuSatu makes it easy to build a full day or full trip around this neighbourhood and beyond. SatuSatu is a Bali travel platform that brings together curated experiences, transport, and activities all in one place, bookable directly on <a href=\"http:\/\/satusatu.com\">SatuSatu.com<\/a>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start your Canggu trip with the <a href=\"https:\/\/satusatu.com\/en-US\/catalog\/satusatu-airport-transfer-from-to-airport-sameday-booking\">SatuSatu Airport Transfer<\/a> for a hassle-free arrival. Transparent pricing, same-day availability, and no airport queue negotiations mean you are in your accommodation quickly and ready to explore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For day trips from Canggu to Ubud, Tanah Lot, Uluwatu, or anywhere else on the island, the <a href=\"https:\/\/satusatu.com\/en-US\/catalog\/satusatu-exclusive-car-charter-sameday-booking\">SatuSatu Exclusive Car Charter<\/a> provides a dedicated local driver, flexible timing, and easy online booking.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/satusatu.com\/en-US\/catalog\/uluwatu-temple-kecak-fire-dance-satusatu-curated-experience-sameday-booking-bonus-merchandise\">SatuSatu Kecak Fire Dance<\/a> at Uluwatu Temple is a must-add for any Canggu itinerary. Uluwatu is a 30 to 40-minute drive south, and this iconic clifftop performance at sunset.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/satusatu.com\/en-US\/baliallaccess\"><img loading=\"lazy\" decoding=\"async\" width=\"2080\" height=\"1130\" src=\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/Bali-All-Access.png\" alt=\"Bali All Access\" class=\"wp-image-3520\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And if you want to do more across Bali without the hassle of planning each activity separately, the<a href=\"https:\/\/satusatu.com\/en-US\/baliallaccess\"> <strong>SatuSatu Bali All-Access Pass<\/strong><\/a> is the smartest way to stretch your trip further.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Choose from a 1-day pass at $59.95 (IDR 999K), a 2-day pass at $104.95 (IDR 1.799M), or a 3-day pass at $144.95 (IDR 2.499M), and unlock access to 50+ top Bali experiences spanning destinations across the island, from the Kecak Fire Dance at Uluwatu to snorkeling in Padang Bai and wellness &amp; spa experiences across Bali.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every pass includes a free eSIM and a dedicated Bali concierge to handle all the planning for you, saving you up to 60% compared to booking individually, with 90-day validity from purchase for maximum flexibility.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All bookings are made on <a href=\"http:\/\/satusatu.com\">SatuSatu.com<\/a> with support for BCA, Mandiri, OVO, DANA, credit cards, and a full range of local payment methods.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ about The Avocado Factory Canggu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is The Avocado Factory Canggu worth visiting?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, especially for avocado lovers and health-conscious travelers. The menu is inventive and well-executed, the atmosphere is relaxed and tropical, and the dining experience is genuinely distinctive within Canggu&#8217;s competitive food scene.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where exactly is The Avocado Factory in Canggu?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is located on Jalan Batu Mejan at the intersection with Jalan Tanah Barak, in Canggu, North Kuta, Badung. On-site scooter parking is available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What are the opening hours of The Avocado Factory?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The restaurant is open daily from 7 AM to 11:30 PM, covering breakfast, brunch, lunch, and an evening dinner service with tapas, wine, and cocktails.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What dishes should I order at The Avocado Factory?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Avo Eggs Benny, Truffle Benedict, Avo Cheese Croissant XL, and Avocado Basque Cheesecake are among the most consistently praised dishes. For lunch or dinner, the Avo Tuna Tartar and Poke Bowl with smoked salmon are popular.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is The Avocado Factory suitable for vegetarians?<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, a significant portion of the menu is plant-based or easily adapted. The kitchen is used to accommodating dietary preferences and the staff are accustomed to questions about individual dish ingredients.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    <!-- Styles -->\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* ========================= *\/\n          \/* BASE STYLES *\/\n          \/* ========================= *\/\n          .produk-container {\n              display: flex;\n              flex-direction: column;\n              gap: 12px;\n          }\n\n          .produk-card {\n            cursor: pointer;\n            display: flex;\n            margin: 0;\n            border: 1px solid #eee;\n            border-radius: 12px;\n            overflow: hidden;\n            font-family: Overpass, sans-serif;\n            background: #ffffff;\n          }\n\n          .produk-image {\n            position: relative;\n            flex-shrink: 0;\n          }\n\n          .produk-image img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n          }\n\n          .produk-location {\n            position: absolute;\n            left: 8px;\n            bottom: 8px;\n            background: #fff;\n            border-radius: 12px;\n            border: 1px solid #dadbe0;\n            padding: 4px 6px;\n            font-size: 10px;\n            line-height: 14px;\n          }\n\n          .produk-content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n          }\n\n          .produk-title {\n            font-weight: 700;\n          }\n\n          .produk-rating {\n            font-size: 16px;\n            color: #333;\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-rating-line {\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-price-main {\n            color: #cb1c4f;\n            font-weight: 800;\n            font-size: 16px;\n          }\n\n          .produk-price-strike {\n            text-decoration: line-through;\n            font-size: 14px;\n            opacity: 0.7;\n            margin-right: 8px;\n          }\n\n          .produk-discount {\n            background: #cb1c4f;\n            color: #fff;\n            padding: 2px 6px;\n            border-radius: 4px;\n            font-size: 14px;\n          }\n\n          .produk-btn {\n            background: #cb1c4f;\n            color: #ffffff;\n            padding: 10px 16px;\n            border-radius: 8px;\n            text-decoration: none;\n            font-weight: 600;\n            margin-top: 8px;\n          }\n\n          .produk-btn:hover {\n            text-decoration: none;\n            color: #ffffff;\n          }\n\n          .product-info-wrap {\n            display: flex;\n            flex-wrap: nowrap;\n            justify-content: space-between;\n          }\n\n          \/* ========================= *\/\n          \/* DESKTOP (>= 800px) *\/\n          \/* ========================= *\/\n\n          @media (min-width: 800px) {\n            .produk-image {\n              width: 200px;\n            }\n\n            .produk-content {\n              padding: 20px;\n            }\n\n            .product-info-wrap {\n              flex-direction: row;\n              align-items: center;\n            }\n\n            .produk-btn {\n              display: inline-block;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* TABLET (<= 768px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 768px) {\n            .produk-card {\n              flex-direction: column;\n            }\n\n            .produk-image {\n              width: 200px;\n              height: 220px;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 18px;\n            }\n\n            .produk-rating {\n              font-size: 14px;\n            }\n\n            .product-info-wrap {\n              flex-direction: column;\n              align-items: flex-start;\n              gap: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* MOBILE (<= 480px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 480px) {\n            .produk-image {\n              width: 100%;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 16px;\n              overflow: hidden;\n              text-overflow: ellipsis;\n            }\n\n            .produk-price-main {\n              font-size: 15px;\n            }\n\n            .produk-discount {\n              font-size: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ======================================= *\/\n          \/* CAROUSEL MODE (inside .carousel-list)  *\/\n          \/* ======================================= *\/\n\n          .carousel-wrapper {\n            position: relative;\n          }\n\n          .carousel-list {\n            overflow-x: auto;\n            overflow-y: hidden;\n            -webkit-overflow-scrolling: touch;\n            scroll-behavior: smooth;\n            scroll-snap-type: x mandatory;\n            scrollbar-width: none;\n          }\n\n          .carousel-list::-webkit-scrollbar {\n            display: none;\n          }\n\n          .carousel-list .produk-container {\n            display: flex;\n            flex-direction: row;\n            flex-wrap: nowrap;\n            width: max-content;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-card {\n            flex: 0 0 auto;\n            width: 220px;\n            flex-direction: column;\n            scroll-snap-align: start;\n          }\n\n          .carousel-list .produk-image {\n            width: 100%;\n            height: 220px;\n          }\n\n          .carousel-list .produk-content {\n            padding: 12px;\n          }\n\n          .carousel-list .produk-title {\n\t\t\t  font-size: 16px;\n\t\t\t  overflow: hidden;\n\t\t\t  text-overflow: ellipsis;\n\t\t\t  display: -webkit-box;\n\t\t\t  -webkit-line-clamp: 2;\n\t\t\t  -webkit-box-orient: vertical;\n\t\t\t  line-clamp: 2;\n\t\t\t}\n\n          .carousel-list .produk-rating {\n            font-size: 14px;\n          }\n\n          .carousel-list .produk-price-main {\n            font-size: 15px;\n          }\n\n          .carousel-list .produk-discount {\n            font-size: 12px;\n          }\n\n          .carousel-list .product-info-wrap {\n            flex-direction: column;\n            align-items: flex-start;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-btn {\n            display: none;\n          }\n\n          \/* ========================= *\/\n          \/* CAROUSEL ARROWS *\/\n          \/* ========================= *\/\n\n          .carousel-arrow {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 36px;\n            height: 36px;\n            border-radius: 50%;\n            background: #ffffff;\n            border: 1px solid #dadbe0;\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            z-index: 10;\n            transition: opacity 0.2s, box-shadow 0.2s;\n            padding: 0;\n          }\n\n          .carousel-arrow:hover {\n\t\t\tbackground: #FFFFFF;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n          }\n\n          .carousel-arrow.is-hidden {\n            opacity: 0;\n            pointer-events: none;\n          }\n\n          .carousel-arrow-left {\n            left: -18px;\n          }\n\n          .carousel-arrow-right {\n            right: -18px;\n          }\n\n          @media (max-width: 480px) {\n\t\t\t.carousel-arrow{\n\t\t\t\tdisplay: none;\n\t\t\t}\n            .carousel-arrow-left {\n              left: 4px;\n            }\n\n            .carousel-arrow-right {\n              right: 4px;\n            }\n          }\n    <\/style>\n\n    <!-- HTML -->\n    <div class=\"carousel-wrapper\" data-carousel-id=\"carousel-6a13847b6b817\" data-is-carousel=\"1\">\n                    <button type=\"button\" class=\"carousel-arrow carousel-arrow-left is-hidden\" aria-label=\"Scroll left\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M216,88v80a8,8,0,0,1-8,8H120v48L24,128l96-96V80h88A8,8,0,0,1,216,88Z\" opacity=\"0.2\"><\/path><path d=\"M208,72H128V32a8,8,0,0,0-13.66-5.66l-96,96a8,8,0,0,0,0,11.32l96,96A8,8,0,0,0,128,224V184h80a16,16,0,0,0,16-16V88A16,16,0,0,0,208,72Zm0,96H120a8,8,0,0,0-8,8v28.69L35.31,128,112,51.31V80a8,8,0,0,0,8,8h88Z\"><\/path><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"carousel-arrow carousel-arrow-right is-hidden\" aria-label=\"Scroll right\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M136,224V176H48a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h88V32l96,96Z\" opacity=\"0.2\"><\/path><path d=\"M237.66,122.34l-96-96A8,8,0,0,0,128,32V72H48A16,16,0,0,0,32,88v80a16,16,0,0,0,16,16h80v40a8,8,0,0,0,13.66,5.66l96-96A8,8,0,0,0,237.66,122.34ZM144,204.69V176a8,8,0,0,0-8-8H48V88h88a8,8,0,0,0,8-8V51.31L220.69,128Z\"><\/path><\/svg>\n            <\/button>\n                <div class=\"carousel-list\">\n            <div class=\"produk-container\" data-slugs=\" uluwatu-temple-kecak-fire-dance-satusatu-curated-experience-sameday-booking-bonus-merchandise, satusatu-exclusive-car-charter-sameday-booking, satusatu-airport-transfer-from-to-airport-sameday-booking, nusa-penida-day-tour-satusatu-curated-experience-bonus-merchandise, bali-bird-park-experience-nature-wildlife-adventure\"><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Script -->\n    <script>\n    (function() {\n\t\tfunction buildCatalogUrl(slug) {\n\t\t\t\/\/ UTM params hardcoded by the shortcode (these always win)\n\t\t\tconst hardcoded = {\n\t\t\t\tutm_source: \"blog\",\n\t\t\t\tutm_medium: \"in_line_product_cta\",\n\t\t\t};\n\n\t\t\t\/\/ UTM params from the current page URL (only used if hardcoded doesn't define them)\n\t\t\tconst pageParams = new URLSearchParams(window.location.search);\n\t\t\tconst utmKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"];\n\t\t\tconst merged = new URLSearchParams();\n\n\t\t\tutmKeys.forEach(key => {\n\t\t\t\tif (hardcoded[key] !== undefined) {\n\t\t\t\t\t\/\/ Hardcoded value takes priority\n\t\t\t\t\tmerged.set(key, hardcoded[key]);\n\t\t\t\t} else if (pageParams.has(key)) {\n\t\t\t\t\t\/\/ Fall back to whatever the page URL has\n\t\t\t\t\tmerged.set(key, pageParams.get(key));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn \"https:\/\/satusatu.com\/en-ID\/catalog\/\" + slug + \"?\" + merged.toString();\n\t\t}\n\t\t\n        function renderCatalogItem(p) {\n            const location = p.location?.name || \"\";\n            const rating = p.rating?.average_rating ?? null;\n            const ratingCount = p.rating?.count_rating_display || \"\";\n            const soldDisplay = p.rating?.total_sold_display || \"\";\n            const currency = p.pricing?.currency_symbol || \"Rp\";\n            const price = p.pricing?.min_price || 0;\n            const originalPrice = p.pricing?.min_original_price || 0;\n            const discount = p.pricing?.discount || 0;\n\t\t\tconst catalogUrl = buildCatalogUrl(p.slug);\n\n            return `\n                <div class=\"produk-card\" data-url=\"${catalogUrl}\">\n                    <div class=\"produk-image\">\n                        <img decoding=\"async\" src=\"${p.image_url}\" alt=\"${p.title}\" \/>\n                        <div class=\"produk-location\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M128,24a80,80,0,0,0-80,80c0,72,80,128,80,128s80-56,80-128A80,80,0,0,0,128,24Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,128,136Z\" opacity=\"0.2\"><\/path><path d=\"M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z\"><\/path><\/svg>\n                            <span>${location}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"produk-content\">\n                        <div class=\"produk-title\">${p.title}<\/div>\n                        ${rating ? `\n                        <div class=\"produk-rating\">\n                            <div class=\"produk-rating-line\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" fill=\"#F87500\" viewBox=\"0 0 256 256\"><path d=\"M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z\" opacity=\"0.2\"><\/path><path d=\"M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z\"><\/path><\/svg>\n                                <span>${rating} (${ratingCount}) &bull; ${soldDisplay} sold<\/span>\n                            <\/div>\n                        <\/div>` : ''}\n                        <div class=\"product-info-wrap\">\n                            <div>\n                                <div style=\"display:flex;gap:6px;\">\n                                    <div style=\"font-size:14px;\">From<\/div>\n                                    <div class=\"produk-price-main\">${currency} ${price.toLocaleString()}<\/div>\n                                <\/div>\n                                ${discount > 0 ? `\n                                <div>\n                                    <span class=\"produk-price-strike\">${currency} ${originalPrice.toLocaleString()}<\/span>\n                                    <span class=\"produk-discount\">-${discount}%<\/span>\n                                <\/div>` : ''}\n                            <\/div>\n                            <div>\n                                <a target=\"_blank\" href=\"${catalogUrl}\" class=\"produk-btn\">Check Availability<\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        function initSatuSatuCatalog(wrapperEl) {\n            const scrollEl = wrapperEl.querySelector(\".carousel-list\");\n            const container = wrapperEl.querySelector(\".produk-container\");\n            const slugs = container.getAttribute(\"data-slugs\");\n            const isCarousel = wrapperEl.getAttribute(\"data-is-carousel\") === \"1\";\n            const leftArrow = wrapperEl.querySelector(\".carousel-arrow-left\");\n            const rightArrow = wrapperEl.querySelector(\".carousel-arrow-right\");\n\n            fetch(\"https:\/\/api.satusatu.com\/content\/guest\/satusatu\/v1\/catalogs\/blog\/catalog-list?slugs=\" + slugs)\n                .then(res => res.json())\n                .then(data => {\n                    container.innerHTML = data.data.map(renderCatalogItem).join('');\n                    \/\/ Event handler for card click\n                    container.querySelectorAll('.produk-card').forEach(card => {\n                        card.addEventListener('click', () => {\n                            window.open(card.dataset.url, '_blank');\n                        });\n                    });\n\n                    if (isCarousel && scrollEl && leftArrow && rightArrow) {\n                        const scrollAmount = 240;\n                        function updateArrows() {\n                            const sl = scrollEl.scrollLeft;\n                            const sw = scrollEl.scrollWidth;\n                            const cw = scrollEl.clientWidth;\n                            leftArrow.classList.toggle(\"is-hidden\", sl <= 0);\n                            rightArrow.classList.toggle(\"is-hidden\", sl + cw >= sw - 1);\n                        }\n                        leftArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: -scrollAmount, behavior: \"smooth\" });\n                        });\n                        rightArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: scrollAmount, behavior: \"smooth\" });\n                        });\n                        scrollEl.addEventListener(\"scroll\", updateArrows);\n                        window.addEventListener(\"resize\", updateArrows);\n                        setTimeout(updateArrows, 200);\n                    }\n                });\n        }\n\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            document.querySelectorAll(\"[data-carousel-id]\").forEach(initSatuSatuCatalog);\n        });\n    })();\n    <\/script>\n    <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first thing you notice at The Avocado Factory in Canggu is not the menu or the d\u00e9cor. It is the smell of ripe avocado meeting fresh coffee at 8 in the morning, with the kind of warm, breezy tropical energy that Canggu does better than almost anywhere. If you are a fan of the&hellip;&nbsp;<\/p>\n","protected":false},"author":22,"featured_media":3428,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[4029,4207],"tags":[4577,4189,1972,4579,526],"class_list":["post-3427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bali-cafe","category-bali-restaurant-3","tag-avocado-factory-canggu","tag-bali-cafe","tag-bali-restaurant-2","tag-cafe-restaurant-review","tag-satusatu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -<\/title>\n<meta name=\"description\" content=\"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -\" \/>\n<meta property=\"og:description\" content=\"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-06T09:50:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T10:09:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatiya Aulia Muthmainnah\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatiya Aulia Muthmainnah\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/\"},\"author\":{\"name\":\"Fatiya Aulia Muthmainnah\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#\\\/schema\\\/person\\\/4b773aced63910f3c4d3c4a8c82516c2\"},\"headline\":\"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go\",\"datePublished\":\"2026-05-06T09:50:40+00:00\",\"dateModified\":\"2026-05-07T10:09:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/\"},\"wordCount\":1671,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/avocado-factory-canggu.png\",\"keywords\":[\"Avocado Factory Canggu\",\"Bali Cafe\",\"Bali Restaurant\",\"Cafe &amp; Restaurant Review\",\"SatuSatu\"],\"articleSection\":[\"Bali Cafe\",\"Bali Restaurant\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/\",\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/\",\"name\":\"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/avocado-factory-canggu.png\",\"datePublished\":\"2026-05-06T09:50:40+00:00\",\"dateModified\":\"2026-05-07T10:09:47+00:00\",\"description\":\"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/avocado-factory-canggu.png\",\"contentUrl\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/avocado-factory-canggu.png\",\"width\":1376,\"height\":768,\"caption\":\"Avocado Factory Canggu\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/avocado-factory-canggu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#website\",\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/\",\"name\":\"SatuSatu\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#organization\",\"name\":\"SatuSatu\",\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Variant1024.png\",\"contentUrl\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Variant1024.png\",\"width\":1024,\"height\":1024,\"caption\":\"SatuSatu\"},\"image\":{\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/satusatucom\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/#\\\/schema\\\/person\\\/4b773aced63910f3c4d3c4a8c82516c2\",\"name\":\"Fatiya Aulia Muthmainnah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"caption\":\"Fatiya Aulia Muthmainnah\"},\"url\":\"https:\\\/\\\/satusatu.com\\\/inspiration\\\/author\\\/ext-fatiya-aulia\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -","description":"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/","og_locale":"en_US","og_type":"article","og_title":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -","og_description":"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting","og_url":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/","article_published_time":"2026-05-06T09:50:40+00:00","article_modified_time":"2026-05-07T10:09:47+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png","type":"image\/png"}],"author":"Fatiya Aulia Muthmainnah","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatiya Aulia Muthmainnah","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#article","isPartOf":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/"},"author":{"name":"Fatiya Aulia Muthmainnah","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2"},"headline":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go","datePublished":"2026-05-06T09:50:40+00:00","dateModified":"2026-05-07T10:09:47+00:00","mainEntityOfPage":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/"},"wordCount":1671,"commentCount":0,"publisher":{"@id":"https:\/\/satusatu.com\/inspiration\/#organization"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#primaryimage"},"thumbnailUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png","keywords":["Avocado Factory Canggu","Bali Cafe","Bali Restaurant","Cafe &amp; Restaurant Review","SatuSatu"],"articleSection":["Bali Cafe","Bali Restaurant"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/","url":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/","name":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go -","isPartOf":{"@id":"https:\/\/satusatu.com\/inspiration\/#website"},"primaryImageOfPage":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#primaryimage"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#primaryimage"},"thumbnailUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png","datePublished":"2026-05-06T09:50:40+00:00","dateModified":"2026-05-07T10:09:47+00:00","description":"The Avocado Factory review covering avocado dishes, prices, menu highlights, location, and why this Canggu caf\u00e9 is worth visiting","breadcrumb":{"@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#primaryimage","url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png","contentUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png","width":1376,"height":768,"caption":"Avocado Factory Canggu"},{"@type":"BreadcrumbList","@id":"https:\/\/satusatu.com\/inspiration\/avocado-factory-canggu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/satusatu.com\/inspiration\/"},{"@type":"ListItem","position":2,"name":"The Avocado Factory Canggu Review: Everything You Need to Know Before You Go"}]},{"@type":"WebSite","@id":"https:\/\/satusatu.com\/inspiration\/#website","url":"https:\/\/satusatu.com\/inspiration\/","name":"SatuSatu","description":"","publisher":{"@id":"https:\/\/satusatu.com\/inspiration\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/satusatu.com\/inspiration\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/satusatu.com\/inspiration\/#organization","name":"SatuSatu","url":"https:\/\/satusatu.com\/inspiration\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/","url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png","contentUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png","width":1024,"height":1024,"caption":"SatuSatu"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/satusatucom\/"]},{"@type":"Person","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2","name":"Fatiya Aulia Muthmainnah","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","caption":"Fatiya Aulia Muthmainnah"},"url":"https:\/\/satusatu.com\/inspiration\/author\/ext-fatiya-aulia\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",1376,768,false],"thumbnail":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",150,84,false],"medium":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",300,167,false],"medium_large":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",768,429,false],"large":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",1024,572,false],"1536x1536":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",1376,768,false],"2048x2048":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",1376,768,false],"neve-blog":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/05\/avocado-factory-canggu.png",930,519,false]},"uagb_author_info":{"display_name":"Fatiya Aulia Muthmainnah","author_link":"https:\/\/satusatu.com\/inspiration\/author\/ext-fatiya-aulia\/"},"uagb_comment_info":0,"uagb_excerpt":"The first thing you notice at The Avocado Factory in Canggu is not the menu or the d\u00e9cor. It is the smell of ripe avocado meeting fresh coffee at 8 in the morning, with the kind of warm, breezy tropical energy that Canggu does better than almost anywhere. If you are a fan of the&hellip;&nbsp;","_links":{"self":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/3427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/comments?post=3427"}],"version-history":[{"count":3,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/3427\/revisions"}],"predecessor-version":[{"id":3574,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/3427\/revisions\/3574"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/media\/3428"}],"wp:attachment":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/media?parent=3427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/categories?post=3427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/tags?post=3427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}