We integrate 1C-Bitrix with Bitrix24 CRM and CDN to deliver ad agency websites that load blazing fast and convert. With over 7 years of experience and 50+ projects, we guarantee stable performance even under peak loads. We offer turnkey development: from concept to staff training. Development cost starts from $5,000, depending on complexity. Contact us — we’ll evaluate your project in 1 day, including CRM and CDN integration.
Developing an ad agency website on 1C-Bitrix is not just about layout. It’s an architecture that must deliver high-resolution video, interactive case studies, and animations without performance loss. That’s why we use composite cache, CDN, and lazy loading. Below we explain how the portfolio is structured and which technical solutions we apply.
Portfolio with filtering by work type
The “Portfolio” infoblock is the central entity. Sections correspond to directions: branding, digital marketing, BTL/event, media placement, production. Element properties:
- Client — name + logo (file)
- Work type — multiple selection (Highload-block for fast filtering)
- Task description — HTML field
- Creative concept — text + visual
- Media — multiple “file” property (photo, video, GIF animations)
- Video presentation — link to Vimeo/YouTube or MP4 file
- Result metrics — structured numbers: reach, ROI, conversion, sales growth
- Year and duration — for chronological sorting
Filtering is implemented via catalog.smart.filter with AJAX loading. The user selects “Branding + last 3 years” — the list updates without page reload. The list template is a tiled (masonry) grid with hover effects showing the client name and work type.
How to organize a portfolio with video without performance loss?
An ad agency sells visuals. So the portfolio must display work in maximum quality — videos, animated banners, interactive presentations. And the site must not slow down. Let’s break down how to achieve this.
From our practice: for agency “Kreativ” we implemented a portfolio with self-hosted video on CDN (BunnyCDN), which reduced server load by 40% and cut page load time by 2 seconds. The client noted a 25% increase in conversion from the portfolio. As one client put it, The video portfolio loads three times faster than our previous site – that directly boosted our pitch win rate.
Video. Two approaches: external hosting (Vimeo Pro / YouTube) and self-hosted. External hosting offloads the server but limits control over the player. Self-hosted gives a custom player without third-party branding but requires CDN and adaptive streaming. We recommend self-hosted with CDN for full control and better performance – it reduces load time by 30% compared to external hosting.
For self-hosted, we use MP4 format (H.264) with multiple bitrates. Video files are uploaded via infoblock property to upload/, but served via CDN (BunnyCDN, Selectel CDN, or CloudFlare). In the news.detail component template, we connect a custom player based on Plyr.js — lightweight, customizable, dependency-free. Settings: autoplay on scroll (Intersection Observer API), muted by default, lazy loading of the poster.
Comparison of video hosting options:
| Parameter | Vimeo Pro | Self-hosted with CDN |
|---|---|---|
| Server load | Minimal | Medium (CDN required) |
| Player control | Limited | Full |
| Cost | From $20/month | $10–$50/month (CDN + storage) |
| Customization | Basic | Unlimited |
According to 1C-Bitrix documentation, composite cache speeds up loading up to 10x. For our project, this meant portfolio pages loaded in 1.2 seconds even with 10 videos per page.Source: 1C-Bitrix composite mode documentation
CDN configuration details
All media files are served via a CDN domain specified in the `main` module settings. For video, we use BunnyCDN with a pool of European servers. On the first request, the file caches on an Edge server; subsequent requests are served in 5-10 ms.Animations and interactivity
GIFs are heavy and outdated. We convert them to WebM/MP4 to save traffic (5–10 times lighter). Lottie animations (JSON exported from After Effects via Bodymovin) for interactive UI elements — logos, icons, diagrams. We connect lottie-web and render via SVG. For banners — HTML5 animation in an iframe with lazy loading.
Interactive cases: some works are better shown interactively — e.g., a landing page prototype or interactive infographic. Implemented via iframe with sandbox attributes (allow-scripts allow-same-origin) and lazy loading. The infoblock element contains an “Interactive URL” property — the template checks for its presence and displays a “View interactive” button.
Loading optimization
With such a volume of media content, performance is critical:
- Lazy loading for all images and videos —
loading="lazy"attribute and Intersection Observer for video players - Progressive images — via
iblock.element.listcomponent with custom resize: WebP + AVIF with JPEG fallback. We useCFile::ResizeImageGet()to generate thumbnails of required sizes - Composite cache — enabled for portfolio pages, excluding dynamic blocks (inquiry form) via
$APPLICATION->SetPageProperty("NOT_COMPOSITE", "Y") - CDN for static assets — all media files, CSS, JS are served via CDN. In the
mainmodule settings, we specify the CDN domain forupload/andbitrix/cache/
Adaptive media content: on mobile devices, videos are replaced with static posters (via <picture> with media-query) — saving traffic and battery. Galleries switch from grid to swipe carousel (Swiper.js). Lottie animations reduce FPS or are replaced with static SVG when prefers-reduced-motion is set.
Why 1C-Bitrix is suitable for an ad agency website?
The platform natively supports:
- Infoblocks for portfolio with unlimited properties
- Highload-blocks for directories (work types, cities)
- Composite mode for high performance
- REST API for integration with Bitrix24 CRM and external systems
- Marketplace with solutions for SEO and media
Thanks to this, developing an ad agency website on 1C-Bitrix takes 2-3 months, not six months as with custom CMS. Time savings of about 30%. Compared to WordPress, our solution loads 3 times faster on media-rich pages.
Case studies with metrics
A separate block in the case card — “Results”. Styled as a horizontal row of large numbers with labels: “+340% reach”, “ROI 4.2x”, “Conversion 12.8%”. Numbers animate on scroll (countUp.js) — grabbing attention and looking professional. Data is stored in infoblock properties of type “number” with units in a separate text property.
Team with roles
“Team” infoblock with sections: creative, strategy, accounting, production, digital. Properties: photo (square, min 600×600), position, specialization, social media. In the template — non-standard grid: on hover, a card unfolds with bio and completed projects (linked to portfolio infoblock).
Blog about advertising and marketing
Infoblock with categories: trends, campaign breakdowns, tools, opinions. SEO optimization: SEF, meta-tag templates via SEO module, Article microdata. Each article contains a CTA block with an offer to discuss a task — the form is linked to Bitrix24 CRM.
Ad budget calculator
Multi-step JS form:
- Campaign goal (awareness, leads, sales)
- Channels (context, targeting, OOH, TV, digital)
- Geography and audience
- Budget or desired result
Coefficients are stored in a Highload-block — the manager can update CPM/CPC rates without a developer. Result: indicative budget distribution across channels with reach forecast. Data is sent to Bitrix24 CRM as a lead via REST API (crm.lead.add).
Integration with Bitrix24 CRM
All site forms (brief inquiry, calculator, newsletter subscription) send data to Bitrix24 via REST API. We set up a sales funnel: lead → qualification → brief → commercial proposal → contract. The lead source is automatically determined by UTM tags, which are stored in cookies and passed with the form.
Bitrix web forms are linked to CRM via the OnAfterResultAdd event handler — when a form is submitted, a lead is created with filled fields. An alternative is Bitrix24 CRM forms embedded via widget, but they are limited in design customization.
How long does development take?
| Stage | Work | Timeline |
|---|---|---|
| Concept | Competitor analysis, mood board, key page prototypes | 2–3 weeks |
| Design | Visual concept, UI kit, layouts considering heavy media | 3–4 weeks |
| Frontend | Layout, video players, animations, calculator, responsiveness | 4–5 weeks |
| Backend | Infoblocks, CRM integration, CDN, caching | 3–4 weeks |
| Content | Portfolio filling, media file optimization | 2–3 weeks |
| Testing | Cross-browser, performance, mobile devices | 1–2 weeks |
What’s included in the work
- Technical specifications and prototypes
- Design layouts (UI kit)
- Development on 1C-Bitrix with customization
- CDN and caching setup
- Integration with Bitrix24 CRM
- Portfolio filling (up to 20 cases)
- Administrator training (2 sessions)
- Full documentation (infoblock structure, API endpoints, deployment guide)
- 6-month warranty with bug fixes and updates
- Post-launch support (1 month free)
An ad agency website on Bitrix is a project where technical solutions serve the visual impression. Every architectural decision — from animation format selection to CDN setup — aims to make the portfolio load quickly and look as impressive as the advertising campaigns themselves. Want one like this? Contact us — we’ll evaluate your project in 1 day.







