{ let pageLink = e.target.closest('.ajax-pagination a'); if (pageLink) { e.preventDefault(); this.fetchCampaigns(pageLink.href); window.scrollTo({ top: 0, behavior: 'smooth' }); } }); this.campaignsHtml = document.getElementById('initial-campaigns-list').innerHTML; }, fetchCampaigns(url = null) { this.loading = true; let queryUrl = url || 'https://www.arifpromotion.com/campaigns'; let params = new URLSearchParams(); params.set('ajax', '1'); if (this.search) params.set('search', this.search); if (this.min_budget) params.set('min_budget', this.min_budget); if (this.max_budget) params.set('max_budget', this.max_budget); if (this.sort) params.set('sort', this.sort); if (this.verified_only) params.set('verified_only', '1'); this.platforms.forEach(p => params.append('platforms[]', p)); this.niches.forEach(n => params.append('niches[]', n)); this.locations.forEach(l => params.append('locations[]', l)); if (url) { let pageVal = new URL(url).searchParams.get('page'); if (pageVal) params.set('page', pageVal); } let fetchUrl = `${queryUrl.split('?')[0]}?${params.toString()}`; fetch(fetchUrl, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }) .then(r => r.json()) .then(data => { this.campaignsHtml = data.html; this.totalCampaigns = data.total; this.loading = false; let cleanHistoryUrl = fetchUrl.replace('ajax=1&', '').replace('&ajax=1', '').replace('?ajax=1', ''); history.pushState(null, '', cleanHistoryUrl); }) .catch(e => { console.error(e); this.loading = false; }); }, clearFilters() { this.search = ''; this.platforms = []; this.min_budget = ''; this.max_budget = ''; this.niches = []; this.locations = []; this.sort = 'newest'; this.verified_only = false; this.fetchCampaigns(); }, removeFilter(type, value = null) { if (type === 'search') this.search = ''; else if (type === 'min_budget') this.min_budget = ''; else if (type === 'max_budget') this.max_budget = ''; else if (type === 'verified_only') this.verified_only = false; else if (type === 'platforms') this.platforms = this.platforms.filter(x => x !== value); else if (type === 'niches') this.niches = this.niches.filter(x => x !== value); else if (type === 'locations') this.locations = this.locations.filter(x => x !== value); this.fetchCampaigns(); }, hasActiveFilters() { return this.search || this.platforms.length || this.min_budget || this.max_budget || this.niches.length || this.locations.length || this.verified_only; } }">

Campaign Marketplace

Connect with Ethiopia's top brands. Browse high-conversion sponsorships, submit professional pitches, and grow your creator career.

Showing campaigns
Support
Call Us